Browse files

Added overloads for compatibility with 1.0 and 1.1 APIs

  • Loading branch information...
1 parent ac52bd9 commit 2add888424f00b07d1e288e044519da71de84953 @thefiddler thefiddler committed Dec 8, 2013
Showing with 948 additions and 40 deletions.
  1. +201 −0 Source/Bind/Specifications/GL2/overrides.xml
  2. +747 −40 Source/OpenTK/Graphics/OpenGL/GLObsolete.cs
View
201 Source/Bind/Specifications/GL2/overrides.xml
@@ -1956,6 +1956,207 @@
<type>BeginMode</type>
</param>
</function>
+ <function name="GetBufferParameter" extension="Arb" obsolete="Use BufferTargetArb overload instead">
+ <param name="target" index="0">
+ <type>ArbVertexBufferObject</type>
+ </param>
+ </function>
+ <function name="GetBufferPointer" extension="Arb" obsolete="Use BufferTargetArb overload instead">
+ <param name="target" index="0">
+ <type>ArbVertexBufferObject</type>
+ </param>
+ </function>
+ <function name="MapBuffer" extension="Arb" obsolete="Use BufferAccessArb overload instead">
+ <param name="access" index="1">
+ <type>ArbVertexBufferObject</type>
+ </param>
+ </function>
+ <function name="BlendEquationSeparate" extension="Ext" obsolete="Use BlendEquationModeExt overload instead">
+ <param name="modeRGB" index="0">
+ <type>ExtBlendEquationSeparate</type>
+ </param>
+ <param name="modeAlpha" index="1">
+ <type>ExtBlendEquationSeparate</type>
+ </param>
+ </function>
+ <function name="ConvolutionFilter1D" extension="Ext" obsolete="Use ConvolutionTargetExt overload instead">
+ <param name="target" index="0">
+ <type>ExtConvolution</type>
+ </param>
+ </function>
+ <function name="ConvolutionFilter2D" extension="Ext" obsolete="Use ConvolutionTargetExt overload instead">
+ <param name="target" index="0">
+ <type>ExtConvolution</type>
+ </param>
+ </function>
+ <function name="ConvolutionParameter" extension="Ext" obsolete="Use ConvolutionTargetExt overload instead">
+ <param name="target" index="0">
+ <type>ExtConvolution</type>
+ </param>
+ <param name="pname" index="1">
+ <type>ExtConvolution</type>
+ </param>
+ </function>
+ <function name="CopyConvolutionFilter1D" extension="Ext" obsolete="Use ConvolutionTargetExt overload instead">
+ <param name="target" index="0">
+ <type>ExtConvolution</type>
+ </param>
+ </function>
+ <function name="CopyConvolutionFilter2D" extension="Ext" obsolete="Use ConvolutionTargetExt overload instead">
+ <param name="target" index="0">
+ <type>ExtConvolution</type>
+ </param>
+ </function>
+ <function name="FogCoordPointer" extension="Ext" obsolete="Use FogPointerTypeExt overload instead">
+ <param name="type" index="0">
+ <type>ExtFogCoord</type>
+ </param>
+ </function>
+ <function name="GetConvolutionFilter" extension="Ext" obsolete="Use ConvolutionTargetExt overload instead">
+ <param name="target" index="0">
+ <type>ExtConvolution</type>
+ </param>
+ </function>
+ <function name="GetConvolutionParameter" extension="Ext" obsolete="Use ConvolutionTargetExt overload instead">
+ <param name="target" index="0">
+ <type>ExtConvolution</type>
+ </param>
+ <param name="pname" index="1">
+ <type>ExtConvolution</type>
+ </param>
+ </function>
+ <function name="GetHistogram" extension="Ext" obsolete="Use HistogramTargetExt overload instead">
+ <param name="target" index="0">
+ <type>ExtHistogram</type>
+ </param>
+ </function>
+ <function name="GetHistogramParameter" extension="Ext" obsolete="Use HistogramTargetExt overload instead">
+ <param name="target" index="0">
+ <type>ExtHistogram</type>
+ </param>
+ <param name="pname" index="1">
+ <type>ExtHistogram</type>
+ </param>
+ </function>
+ <function name="GetMinmax" extension="Ext" obsolete="Use MinmaxTargetExt overload instead">
+ <param name="target" index="0">
+ <type>ExtHistogram</type>
+ </param>
+ </function>
+ <function name="GetMinmaxParameter" extension="Ext" obsolete="Use MinmaxTargetExt overload instead">
+ <param name="target" index="0">
+ <type>ExtHistogram</type>
+ </param>
+ <param name="pname" index="1">
+ <type>ExtHistogram</type>
+ </param>
+ </function>
+ <function name="Histogram" extension="Ext" obsolete="Use HistogramTargetExt overload instead">
+ <param name="target" index="0">
+ <type>ExtHistogram</type>
+ </param>
+ </function>
+ <function name="Minmax" extension="Ext" obsolete="Use MinmaxTargetExt overload instead">
+ <param name="target" index="0">
+ <type>ExtHistogram</type>
+ </param>
+ </function>
+ <function name="ResetHistogram" extension="Ext" obsolete="Use HistogramTargetExt overload instead">
+ <param name="target" index="0">
+ <type>ExtHistogram</type>
+ </param>
+ </function>
+ <function name="ResetMinmax" extension="Ext" obsolete="Use MinmaxTargetExt overload instead">
+ <param name="target" index="0">
+ <type>ExtHistogram</type>
+ </param>
+ </function>
+ <function name="BindTransformFeedback" extension="NV" obsolete="Use BufferTargetArb overload instead">
+ <param name="target" index="0">
+ <type>NvTransformFeedback2</type>
+ </param>
+ </function>
+ <function name="ColorTable" extension="Sgi" obsolete="Use ColorTableTargetSgi overload instead">
+ <param name="target" index="0">
+ <type>SgiColorTable</type>
+ </param>
+ </function>
+ <function name="ColorTableParameter" extension="Sgi" obsolete="Use ColorTableTargetSgi overload instead">
+ <param name="target" index="0">
+ <type>SgiColorTable</type>
+ </param>
+ <param name="pname" index="1">
+ <type>SgiColorTable</type>
+ </param>
+ </function>
+ <function name="CopyColorTable" extension="Sgi" obsolete="Use ColorTableTargetSgi overload instead">
+ <param name="target" index="0">
+ <type>SgiColorTable</type>
+ </param>
+ </function>
+ <function name="GetColorTable" extension="Sgi" obsolete="Use ColorTableTargetSgi overload instead">
+ <param name="target" index="0">
+ <type>SgiColorTable</type>
+ </param>
+ </function>
+ <function name="GetColorTableParameter" extension="Sgi" obsolete="Use ColorTableTargetSgi overload instead">
+ <param name="target" index="0">
+ <type>SgiColorTable</type>
+ </param>
+ <param name="pname" index="1">
+ <type>SgiColorTable</type>
+ </param>
+ </function>
+ <function name="GetPixelTexGenParameter" extension="Sgis" obsolete="Use PixelTexGenParameterNameSgis overload instead">
+ <param name="pname" index="0">
+ <type>SgisPixelTexture</type>
+ </param>
+ </function>
+ <function name="PixelTexGenParameter" extension="Sgis" obsolete="Use PixelTexGenParameterNameSgis overload instead">
+ <param name="pname" index="0">
+ <type>SgisPixelTexture</type>
+ </param>
+ </function>
+ <function name="SamplePattern" extension="Sgis" obsolete="Use SamplePatternSgis overload instead">
+ <param name="pattern" index="0">
+ <type>SgisMultisample</type>
+ </param>
+ </function>
+ <function name="Deform" extension="Sgix" obsolete="Use FfdMaskSgix overload instead">
+ <param name="mask" index="0">
+ <type>int</type>
+ </param>
+ </function>
+ <function name="Deform" extension="Sgix" obsolete="Use FfdMaskSgix overload instead">
+ <param name="mask" index="0">
+ <type>uint</type>
+ </param>
+ </function>
+ <function name="DeformationMap3" extension="Sgix" obsolete="Use FfdTargetSgix overload instead">
+ <param name="target" index="0">
+ <type>SgixPolynomialFfd</type>
+ </param>
+ </function>
+ <function name="FragmentLightModel" extension="Sgix" obsolete="Use FragmentLightModelParameterSgix overload instead">
+ <param name="pname" index="0">
+ <type>SgixFragmentLighting</type>
+ </param>
+ </function>
+ <function name="LightEnv" extension="Sgix" obsolete="Use LightEnvParameterSgix overload instead">
+ <param name="pname" index="0">
+ <type>SgixFragmentLighting</type>
+ </param>
+ </function>
+ <function name="LoadIdentityDeformationMap" extension="Sgix" obsolete="Use FfdMaskSgix overload instead">
+ <param name="mask" index="0">
+ <type>int</type>
+ </param>
+ </function>
+ <function name="LoadIdentityDeformationMap" extension="Sgix" obsolete="Use FfdMaskSgix overload instead">
+ <param name="mask" index="0">
+ <type>uint</type>
+ </param>
+ </function>
<!-- added manually -->
<function name="BlendFunc" extension="Core" obsolete="Use BlendingFactorSrc overload instead">
View
787 Source/OpenTK/Graphics/OpenGL/GLObsolete.cs
@@ -1851,6 +1851,54 @@ void GetSeparableFilter<T5>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK
#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")]
+ [Obsolete("Use GetSeparableFilter(SeparableTargetExt) overloads instead")]
+ public static
+ void GetSeparableFilter(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, [OutAttribute] IntPtr row, [OutAttribute] IntPtr column, [InAttribute, OutAttribute] IntPtr span)
+ {
+ #if DEBUG
+ using (new ErrorHelper(GraphicsContext.CurrentContext))
+ {
+ #endif
+ Delegates.glGetSeparableFilterEXT((OpenTK.Graphics.OpenGL.SeparableTargetExt)target, (OpenTK.Graphics.OpenGL.PixelFormat)format, (OpenTK.Graphics.OpenGL.PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span);
+ #if DEBUG
+ }
+ #endif
+ }
+
/// <summary>
/// Get separable convolution filter kernel images
@@ -2432,9 +2480,9 @@ public static
/// </para>
/// </param>
[AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")]
- [Obsolete("Use ref/array overloads instead")]
+ [Obsolete("Use SeparableTargetExt overloads instead")]
public static
- void GetSeparableFilter<T3,T4,T5>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, [InAttribute, OutAttribute] ref T3 row, [InAttribute, OutAttribute] T4[,,] column, [InAttribute, OutAttribute] T5[,,] span)
+ void GetSeparableFilter<T3,T4,T5>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, [InAttribute, OutAttribute] ref T3 row, [InAttribute, OutAttribute] ref T4 column, [InAttribute, OutAttribute] ref T5 span)
where T3 : struct
where T4 : struct
where T5 : struct
@@ -2462,133 +2510,251 @@ public static
}
/// <summary>
- /// Define a separable two-dimensional convolution filter
+ /// Get separable convolution filter kernel images
/// </summary>
/// <param name="target">
/// <para>
- /// Must be GL_SEPARABLE_2D.
+ /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
/// </para>
/// </param>
- /// <param name="internalformat">
+ /// <param name="format">
/// <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.
+ /// 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="width">
+ /// <param name="type">
/// <para>
- /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
+ /// 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="height">
+ /// <param name="row">
/// <para>
- /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
+ /// 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")]
+ [Obsolete("Use SeparableTargetExt overloads instead")]
+ public static
+ void GetSeparableFilter<T3,T4,T5>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, [InAttribute, OutAttribute] T3[] row, [InAttribute, OutAttribute] T4[] column, [InAttribute, OutAttribute] 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((OpenTK.Graphics.OpenGL.SeparableTargetExt)target, (OpenTK.Graphics.OpenGL.PixelFormat)format, (OpenTK.Graphics.OpenGL.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>
- /// 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.
+ /// 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>
- /// 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.
+ /// 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 a one-dimensional array of pixel data that is processed to build the row filter kernel.
+ /// Pointer to storage for the row filter image.
/// </para>
/// </param>
/// <param name="column">
/// <para>
- /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
+ /// Pointer to storage for the column filter image.
/// </para>
/// </param>
- [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")]
- [Obsolete("Use SeparableFilter2D<T6, T7> overloads instead")]
+ /// <param name="span">
+ /// <para>
+ /// Pointer to storage for the span filter image (currently unused).
+ /// </para>
+ /// </param>
+ [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")]
+ [Obsolete("Use SeparableTargetExt overloads instead")]
public static
- void SeparableFilter2D<T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, IntPtr row, [InAttribute, OutAttribute] T7[] column)
- where T7 : struct
+ void GetSeparableFilter<T3,T4,T5>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, [InAttribute, OutAttribute] T3[,] row, [InAttribute, OutAttribute] T4[,] column, [InAttribute, OutAttribute] 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.glSeparableFilter2DEXT((OpenTK.Graphics.OpenGL.SeparableTargetExt)target, (OpenTK.Graphics.OpenGL.PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (OpenTK.Graphics.OpenGL.PixelFormat)format, (OpenTK.Graphics.OpenGL.PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject());
+ Delegates.glGetSeparableFilterEXT((OpenTK.Graphics.OpenGL.SeparableTargetExt)target, (OpenTK.Graphics.OpenGL.PixelFormat)format, (OpenTK.Graphics.OpenGL.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>
- /// Define a separable two-dimensional convolution filter
+ /// Get separable convolution filter kernel images
/// </summary>
/// <param name="target">
/// <para>
- /// Must be GL_SEPARABLE_2D.
+ /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
/// </para>
/// </param>
- /// <param name="internalformat">
+ /// <param name="format">
/// <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.
+ /// 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="width">
+ /// <param name="type">
/// <para>
- /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
+ /// 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="height">
+ /// <param name="row">
/// <para>
- /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
+ /// 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")]
+ [Obsolete("Use SeparableTargetExt overloads instead")]
+ public static
+ void GetSeparableFilter<T3,T4,T5>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, [InAttribute, OutAttribute] T3[,,] row, [InAttribute, OutAttribute] T4[,,] column, [InAttribute, OutAttribute] 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((OpenTK.Graphics.OpenGL.SeparableTargetExt)target, (OpenTK.Graphics.OpenGL.PixelFormat)format, (OpenTK.Graphics.OpenGL.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>
- /// 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.
+ /// 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>
- /// 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.
+ /// 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 a one-dimensional array of pixel data that is processed to build the row filter kernel.
+ /// Pointer to storage for the row filter image.
/// </para>
/// </param>
/// <param name="column">
/// <para>
- /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
+ /// Pointer to storage for the column filter image.
/// </para>
/// </param>
- [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")]
- [Obsolete("Use SeparableFilter2D<T6, T7> overloads instead")]
+ /// <param name="span">
+ /// <para>
+ /// Pointer to storage for the span filter image (currently unused).
+ /// </para>
+ /// </param>
+ [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")]
+ [Obsolete("Use ref/array overloads instead")]
public static
- void SeparableFilter2D<T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, IntPtr row, [InAttribute, OutAttribute] T7[,] column)
- where T7 : struct
+ void GetSeparableFilter<T3,T4,T5>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, [InAttribute, OutAttribute] ref T3 row, [InAttribute, OutAttribute] T4[,,] column, [InAttribute, OutAttribute] 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.glSeparableFilter2DEXT((OpenTK.Graphics.OpenGL.SeparableTargetExt)target, (OpenTK.Graphics.OpenGL.PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (OpenTK.Graphics.OpenGL.PixelFormat)format, (OpenTK.Graphics.OpenGL.PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject());
+ Delegates.glGetSeparableFilterEXT((OpenTK.Graphics.OpenGL.SeparableTargetExt)target, (OpenTK.Graphics.OpenGL.PixelFormat)format, (OpenTK.Graphics.OpenGL.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
}
@@ -2641,7 +2807,7 @@ void SeparableFilter2D<T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.
[AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")]
[Obsolete("Use SeparableFilter2D<T6, T7> overloads instead")]
public static
- void SeparableFilter2D<T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, IntPtr row, [InAttribute, OutAttribute] T7[,,] column)
+ void SeparableFilter2D<T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, IntPtr row, [InAttribute, OutAttribute] T7[] column)
where T7 : struct
{
#if DEBUG
@@ -2662,7 +2828,6 @@ void SeparableFilter2D<T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.
#endif
}
-
/// <summary>
/// Define a separable two-dimensional convolution filter
/// </summary>
@@ -2709,7 +2874,7 @@ void SeparableFilter2D<T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.
[AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")]
[Obsolete("Use SeparableFilter2D<T6, T7> overloads instead")]
public static
- void SeparableFilter2D<T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, IntPtr row, [InAttribute, OutAttribute] ref T7 column)
+ void SeparableFilter2D<T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, IntPtr row, [InAttribute, OutAttribute] T7[,] column)
where T7 : struct
{
#if DEBUG
@@ -2720,7 +2885,6 @@ void SeparableFilter2D<T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.
try
{
Delegates.glSeparableFilter2DEXT((OpenTK.Graphics.OpenGL.SeparableTargetExt)target, (OpenTK.Graphics.OpenGL.PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (OpenTK.Graphics.OpenGL.PixelFormat)format, (OpenTK.Graphics.OpenGL.PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject());
- column = (T7)column_ptr.Target;
}
finally
{
@@ -2731,6 +2895,549 @@ void SeparableFilter2D<T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.
#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")]
+ [Obsolete("Use SeparableFilter2D<T6, T7> overloads instead")]
+ public static
+ void SeparableFilter2D<T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, IntPtr row, [InAttribute, OutAttribute] T7[,,] column)
+ where T7 : struct
+ {
+ #if DEBUG
+ using (new ErrorHelper(GraphicsContext.CurrentContext))
+ {
+ #endif
+ GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
+ try
+ {
+ Delegates.glSeparableFilter2DEXT((OpenTK.Graphics.OpenGL.SeparableTargetExt)target, (OpenTK.Graphics.OpenGL.PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (OpenTK.Graphics.OpenGL.PixelFormat)format, (OpenTK.Graphics.OpenGL.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")]
+ [Obsolete("Use SeparableFilter2D<T6, T7> overloads instead")]
+ public static
+ void SeparableFilter2D<T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, IntPtr row, [InAttribute, OutAttribute] 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((OpenTK.Graphics.OpenGL.SeparableTargetExt)target, (OpenTK.Graphics.OpenGL.PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (OpenTK.Graphics.OpenGL.PixelFormat)format, (OpenTK.Graphics.OpenGL.PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject());
+ column = (T7)column_ptr.Target;
+ }
+ 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")]
+ [Obsolete("Use ref/array overloads instead")]
+ public static
+ void SeparableFilter2D(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, [InAttribute, OutAttribute] IntPtr row, [InAttribute, OutAttribute] IntPtr column)
+ {
+ #if DEBUG
+ using (new ErrorHelper(GraphicsContext.CurrentContext))
+ {
+ #endif
+ Delegates.glSeparableFilter2DEXT((OpenTK.Graphics.OpenGL.SeparableTargetExt)target, (OpenTK.Graphics.OpenGL.PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (OpenTK.Graphics.OpenGL.PixelFormat)format, (OpenTK.Graphics.OpenGL.PixelType)type, (IntPtr)row, (IntPtr)column);
+ #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")]
+ [Obsolete("Use ref/array overloads instead")]
+ public static
+ void SeparableFilter2D<T6,T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, [InAttribute, OutAttribute] T6[] row, [InAttribute, OutAttribute] 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((OpenTK.Graphics.OpenGL.SeparableTargetExt)target, (OpenTK.Graphics.OpenGL.PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (OpenTK.Graphics.OpenGL.PixelFormat)format, (OpenTK.Graphics.OpenGL.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")]
+ [Obsolete("Use ref/array overloads instead")]
+ public static
+ void SeparableFilter2D<T6,T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, [InAttribute, OutAttribute] ref T6 row, [InAttribute, OutAttribute] ref 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((OpenTK.Graphics.OpenGL.SeparableTargetExt)target, (OpenTK.Graphics.OpenGL.PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (OpenTK.Graphics.OpenGL.PixelFormat)format, (OpenTK.Graphics.OpenGL.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")]
+ [Obsolete("Use ref/array overloads instead")]
+ public static
+ void SeparableFilter2D<T6,T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, [InAttribute, OutAttribute] T6[,] row, [InAttribute, OutAttribute] 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((OpenTK.Graphics.OpenGL.SeparableTargetExt)target, (OpenTK.Graphics.OpenGL.PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (OpenTK.Graphics.OpenGL.PixelFormat)format, (OpenTK.Graphics.OpenGL.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")]
+ [Obsolete("Use ref/array overloads instead")]
+ public static
+ void SeparableFilter2D<T6,T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, [InAttribute, OutAttribute] T6[,,] row, [InAttribute, OutAttribute] 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((OpenTK.Graphics.OpenGL.SeparableTargetExt)target, (OpenTK.Graphics.OpenGL.PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (OpenTK.Graphics.OpenGL.PixelFormat)format, (OpenTK.Graphics.OpenGL.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")]
+ [Obsolete("Use ref/array overloads instead")]
+ public static
+ void SeparableFilter2D<T6,T7>(OpenTK.Graphics.OpenGL.ExtConvolution target, OpenTK.Graphics.OpenGL.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, [InAttribute, OutAttribute] ref T6 row, [InAttribute, OutAttribute] 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((OpenTK.Graphics.OpenGL.SeparableTargetExt)target, (OpenTK.Graphics.OpenGL.PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (OpenTK.Graphics.OpenGL.PixelFormat)format, (OpenTK.Graphics.OpenGL.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

0 comments on commit 2add888

Please sign in to comment.