Added overloads for compatibility with 1.0 and 1.1 APIs

This commit is contained in:
Stefanos A 2013-12-08 16:20:22 +01:00
parent ac52bd9783
commit 2add888424
2 changed files with 908 additions and 0 deletions

View file

@ -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 file

@ -1851,6 +1851,54 @@ namespace OpenTK.Graphics.OpenGL
#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
@ -2398,6 +2446,258 @@ namespace OpenTK.Graphics.OpenGL
#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 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] ref T4 column, [InAttribute, OutAttribute] ref 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>
/// 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 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>
/// 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 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>
/// 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 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>
@ -2731,6 +3031,413 @@ namespace OpenTK.Graphics.OpenGL
#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