public static void Image(this TextureBinding <Texture1D> @this,
                          int level,
                          InternalFormat internalFormat,
                          int width,
                          int border,
                          PixelFormat format,
                          PixelType type,
                          object data)
 {
     Gl.TexImage1D(TextureBinding <Texture1D> .TextureTarget, level, internalFormat, width, border, format, type, data);
 }
 public static void Image(this TextureBinding <Texture2D> @this,
                          int level,
                          InternalFormat internalFormat,
                          int width,
                          int height,
                          int border,
                          PixelFormat format,
                          PixelType type,
                          IntPtr data)
 {
     Gl.TexImage2D(TextureBinding <Texture2D> .TextureTarget, level, internalFormat, width, height, border, format, type, data);
 }
 public static void SetWrapT <T>(this TextureBinding <T> @this, TextureWrapMode wrapMode)
     where T : ITexture2D => @this.SetParameter(TextureParameterName.TextureWrapT, (int)wrapMode);
 public static TextureMinFilter GetMinFilter <T>(this TextureBinding <T> @this)
     where T : ITexture => (TextureMinFilter)@this.GetIntParameter(GetTextureParameter.TextureMinFilter);
 public static TextureWrapMode GetWrapT <T>(this TextureBinding <T> @this)
     where T : ITexture2D => (TextureWrapMode)@this.GetIntParameter(GetTextureParameter.TextureWrapT);