From 2add888424f00b07d1e288e044519da71de84953 Mon Sep 17 00:00:00 2001 From: Stefanos A Date: Sun, 8 Dec 2013 16:20:22 +0100 Subject: [PATCH] Added overloads for compatibility with 1.0 and 1.1 APIs --- Source/Bind/Specifications/GL2/overrides.xml | 201 ++++++ Source/OpenTK/Graphics/OpenGL/GLObsolete.cs | 707 +++++++++++++++++++ 2 files changed, 908 insertions(+) diff --git a/Source/Bind/Specifications/GL2/overrides.xml b/Source/Bind/Specifications/GL2/overrides.xml index e6ca445c..2ab53f02 100644 --- a/Source/Bind/Specifications/GL2/overrides.xml +++ b/Source/Bind/Specifications/GL2/overrides.xml @@ -1956,6 +1956,207 @@ BeginMode + + + ArbVertexBufferObject + + + + + ArbVertexBufferObject + + + + + ArbVertexBufferObject + + + + + ExtBlendEquationSeparate + + + ExtBlendEquationSeparate + + + + + ExtConvolution + + + + + ExtConvolution + + + + + ExtConvolution + + + ExtConvolution + + + + + ExtConvolution + + + + + ExtConvolution + + + + + ExtFogCoord + + + + + ExtConvolution + + + + + ExtConvolution + + + ExtConvolution + + + + + ExtHistogram + + + + + ExtHistogram + + + ExtHistogram + + + + + ExtHistogram + + + + + ExtHistogram + + + ExtHistogram + + + + + ExtHistogram + + + + + ExtHistogram + + + + + ExtHistogram + + + + + ExtHistogram + + + + + NvTransformFeedback2 + + + + + SgiColorTable + + + + + SgiColorTable + + + SgiColorTable + + + + + SgiColorTable + + + + + SgiColorTable + + + + + SgiColorTable + + + SgiColorTable + + + + + SgisPixelTexture + + + + + SgisPixelTexture + + + + + SgisMultisample + + + + + int + + + + + uint + + + + + SgixPolynomialFfd + + + + + SgixFragmentLighting + + + + + SgixFragmentLighting + + + + + int + + + + + uint + + diff --git a/Source/OpenTK/Graphics/OpenGL/GLObsolete.cs b/Source/OpenTK/Graphics/OpenGL/GLObsolete.cs index 0804c335..08778500 100644 --- a/Source/OpenTK/Graphics/OpenGL/GLObsolete.cs +++ b/Source/OpenTK/Graphics/OpenGL/GLObsolete.cs @@ -1851,6 +1851,54 @@ namespace OpenTK.Graphics.OpenGL #endif } + /// + /// Get separable convolution filter kernel images + /// + /// + /// + /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// Pointer to storage for the row filter image. + /// + /// + /// + /// + /// Pointer to storage for the column filter image. + /// + /// + /// + /// + /// Pointer to storage for the span filter image (currently unused). + /// + /// + [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 + } + /// /// Get separable convolution filter kernel images @@ -2398,6 +2446,258 @@ namespace OpenTK.Graphics.OpenGL #endif } + /// + /// Get separable convolution filter kernel images + /// + /// + /// + /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// Pointer to storage for the row filter image. + /// + /// + /// + /// + /// Pointer to storage for the column filter image. + /// + /// + /// + /// + /// Pointer to storage for the span filter image (currently unused). + /// + /// + [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] + [Obsolete("Use SeparableTargetExt overloads instead")] + public static + void GetSeparableFilter(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 + } + + /// + /// Get separable convolution filter kernel images + /// + /// + /// + /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// Pointer to storage for the row filter image. + /// + /// + /// + /// + /// Pointer to storage for the column filter image. + /// + /// + /// + /// + /// Pointer to storage for the span filter image (currently unused). + /// + /// + [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] + [Obsolete("Use SeparableTargetExt overloads instead")] + public static + void GetSeparableFilter(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 + } + + /// + /// Get separable convolution filter kernel images + /// + /// + /// + /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// Pointer to storage for the row filter image. + /// + /// + /// + /// + /// Pointer to storage for the column filter image. + /// + /// + /// + /// + /// Pointer to storage for the span filter image (currently unused). + /// + /// + [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] + [Obsolete("Use SeparableTargetExt overloads instead")] + public static + void GetSeparableFilter(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 + } + + /// + /// Get separable convolution filter kernel images + /// + /// + /// + /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// Pointer to storage for the row filter image. + /// + /// + /// + /// + /// Pointer to storage for the column filter image. + /// + /// + /// + /// + /// Pointer to storage for the span filter image (currently unused). + /// + /// + [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] + [Obsolete("Use SeparableTargetExt overloads instead")] + public static + void GetSeparableFilter(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 + } + /// /// Get separable convolution filter kernel images /// @@ -2731,6 +3031,413 @@ namespace OpenTK.Graphics.OpenGL #endif } + /// + /// Define a separable two-dimensional convolution filter + /// + /// + /// + /// Must be GL_SEPARABLE_2D. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) + /// + /// + /// + /// + /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. + /// + /// + /// + /// + /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. + /// + /// + [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 + } + + /// + /// Define a separable two-dimensional convolution filter + /// + /// + /// + /// Must be GL_SEPARABLE_2D. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) + /// + /// + /// + /// + /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. + /// + /// + /// + /// + /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. + /// + /// + [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] 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 + } + + /// + /// Define a separable two-dimensional convolution filter + /// + /// + /// + /// Must be GL_SEPARABLE_2D. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) + /// + /// + /// + /// + /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. + /// + /// + /// + /// + /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. + /// + /// + [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] 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 + } + + /// + /// Define a separable two-dimensional convolution filter + /// + /// + /// + /// Must be GL_SEPARABLE_2D. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) + /// + /// + /// + /// + /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. + /// + /// + /// + /// + /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. + /// + /// + [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] 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 + } + + /// + /// Define a separable two-dimensional convolution filter + /// + /// + /// + /// Must be GL_SEPARABLE_2D. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) + /// + /// + /// + /// + /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. + /// + /// + /// + /// + /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. + /// + /// + [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] 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 + } + + /// + /// Define a separable two-dimensional convolution filter + /// + /// + /// + /// Must be GL_SEPARABLE_2D. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) + /// + /// + /// + /// + /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// 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. + /// + /// + /// + /// + /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. + /// + /// + /// + /// + /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. + /// + /// + [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] 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 + } /// /// Define a separable two-dimensional convolution filter