Implemented Vertex Post-Processing according to the OpenGL 4.4

specification, section 13.
This commit is contained in:
Stefanos A. 2013-10-23 10:23:02 +02:00
parent bb2bf9fa48
commit 1585d6a02e
5 changed files with 91 additions and 37 deletions

View file

@ -716,14 +716,16 @@
</function>
<function name="DrawTransformFeedback" extension="Core">
<version>4.0</version>
<param name="mode">
<type>BeginMode</type>
<type>PrimitiveType</type>
</param>
</function>
<function name="DrawTransformFeedbackStream" extension="Core">
<version>4.0</version>
<param name="mode">
<type>BeginMode</type>
<type>PrimitiveType</type>
</param>
</function>
@ -900,6 +902,18 @@
</param>
</function>
<function name="DrawTransformFeedbackInstanced" extension="Core">
<param name="mode">
<type>PrimitiveType</type>
</param>
</function>
<function name="DrawTransformFeedbackStreamInstanced" extension="Core">
<param name="mode">
<type>PrimitiveType</type>
</param>
</function>
<function name="GetActiveAtomicCounterBuffer" extension="Core">
<param name="pname">
<type>AtomicCounterBufferParameter</type>
@ -2038,6 +2052,14 @@
<token name="TEXTURE_CUBE_MAP_SEAMLESS" value="0x884F" />
<token name="VERTEX_PROGRAM_POINT_SIZE" value="0x8642" />
<token name="VERTEX_PROGRAM_TWO_SIDE" value="0x8643" />
<use enum="VERSION_3_0" token="CLIP_DISTANCE0" />
<use enum="VERSION_3_0" token="CLIP_DISTANCE1" />
<use enum="VERSION_3_0" token="CLIP_DISTANCE2" />
<use enum="VERSION_3_0" token="CLIP_DISTANCE3" />
<use enum="VERSION_3_0" token="CLIP_DISTANCE4" />
<use enum="VERSION_3_0" token="CLIP_DISTANCE5" />
<use enum="VERSION_3_0" token="CLIP_DISTANCE6" />
<use enum="VERSION_3_0" token="CLIP_DISTANCE7" />
<use enum="VERSION_3_1" token="TEXTURE_RECTANGLE" />
<use enum="VERSION_3_2" token="TEXTURE_CUBE_MAP_SEAMLESS" />
<use enum="VERSION_4_0" token="SAMPLE_SHADING" />

View file

@ -48759,7 +48759,7 @@ namespace OpenTK.Graphics.OpenGL
}
/// <summary>[requires: v1.2 and ARB_transform_feedback2]
/// <summary>[requires: v4.0 and ARB_transform_feedback2]
/// Render primitives using a count derived from a transform feedback object
/// </summary>
/// <param name="mode">
@ -48772,22 +48772,22 @@ namespace OpenTK.Graphics.OpenGL
/// Specifies the name of a transform feedback object from which to retrieve a primitive count.
/// </para>
/// </param>
[AutoGenerated(Category = "ARB_transform_feedback2", Version = "1.2", EntryPoint = "glDrawTransformFeedback")]
[AutoGenerated(Category = "ARB_transform_feedback2", Version = "4.0", EntryPoint = "glDrawTransformFeedback")]
public static
void DrawTransformFeedback(OpenTK.Graphics.OpenGL.BeginMode mode, Int32 id)
void DrawTransformFeedback(OpenTK.Graphics.OpenGL.PrimitiveType mode, Int32 id)
{
#if DEBUG
using (new ErrorHelper(GraphicsContext.CurrentContext))
{
#endif
Delegates.glDrawTransformFeedback((OpenTK.Graphics.OpenGL.BeginMode)mode, (UInt32)id);
Delegates.glDrawTransformFeedback((OpenTK.Graphics.OpenGL.PrimitiveType)mode, (UInt32)id);
#if DEBUG
}
#endif
}
/// <summary>[requires: v1.2 and ARB_transform_feedback2]
/// <summary>[requires: v4.0 and ARB_transform_feedback2]
/// Render primitives using a count derived from a transform feedback object
/// </summary>
/// <param name="mode">
@ -48801,15 +48801,15 @@ namespace OpenTK.Graphics.OpenGL
/// </para>
/// </param>
[System.CLSCompliant(false)]
[AutoGenerated(Category = "ARB_transform_feedback2", Version = "1.2", EntryPoint = "glDrawTransformFeedback")]
[AutoGenerated(Category = "ARB_transform_feedback2", Version = "4.0", EntryPoint = "glDrawTransformFeedback")]
public static
void DrawTransformFeedback(OpenTK.Graphics.OpenGL.BeginMode mode, UInt32 id)
void DrawTransformFeedback(OpenTK.Graphics.OpenGL.PrimitiveType mode, UInt32 id)
{
#if DEBUG
using (new ErrorHelper(GraphicsContext.CurrentContext))
{
#endif
Delegates.glDrawTransformFeedback((OpenTK.Graphics.OpenGL.BeginMode)mode, (UInt32)id);
Delegates.glDrawTransformFeedback((OpenTK.Graphics.OpenGL.PrimitiveType)mode, (UInt32)id);
#if DEBUG
}
#endif
@ -48818,13 +48818,13 @@ namespace OpenTK.Graphics.OpenGL
/// <summary>[requires: v4.2 and ARB_transform_feedback_instanced]</summary>
[AutoGenerated(Category = "ARB_transform_feedback_instanced", Version = "4.2", EntryPoint = "glDrawTransformFeedbackInstanced")]
public static
void DrawTransformFeedbackInstanced(OpenTK.Graphics.OpenGL.ArbTransformFeedbackInstanced mode, Int32 id, Int32 instancecount)
void DrawTransformFeedbackInstanced(OpenTK.Graphics.OpenGL.PrimitiveType mode, Int32 id, Int32 instancecount)
{
#if DEBUG
using (new ErrorHelper(GraphicsContext.CurrentContext))
{
#endif
Delegates.glDrawTransformFeedbackInstanced((OpenTK.Graphics.OpenGL.ArbTransformFeedbackInstanced)mode, (UInt32)id, (Int32)instancecount);
Delegates.glDrawTransformFeedbackInstanced((OpenTK.Graphics.OpenGL.PrimitiveType)mode, (UInt32)id, (Int32)instancecount);
#if DEBUG
}
#endif
@ -48834,20 +48834,20 @@ namespace OpenTK.Graphics.OpenGL
[System.CLSCompliant(false)]
[AutoGenerated(Category = "ARB_transform_feedback_instanced", Version = "4.2", EntryPoint = "glDrawTransformFeedbackInstanced")]
public static
void DrawTransformFeedbackInstanced(OpenTK.Graphics.OpenGL.ArbTransformFeedbackInstanced mode, UInt32 id, Int32 instancecount)
void DrawTransformFeedbackInstanced(OpenTK.Graphics.OpenGL.PrimitiveType mode, UInt32 id, Int32 instancecount)
{
#if DEBUG
using (new ErrorHelper(GraphicsContext.CurrentContext))
{
#endif
Delegates.glDrawTransformFeedbackInstanced((OpenTK.Graphics.OpenGL.ArbTransformFeedbackInstanced)mode, (UInt32)id, (Int32)instancecount);
Delegates.glDrawTransformFeedbackInstanced((OpenTK.Graphics.OpenGL.PrimitiveType)mode, (UInt32)id, (Int32)instancecount);
#if DEBUG
}
#endif
}
/// <summary>[requires: v1.2 and ARB_transform_feedback3]
/// <summary>[requires: v4.0 and ARB_transform_feedback3]
/// Render primitives using a count derived from a specifed stream of a transform feedback object
/// </summary>
/// <param name="mode">
@ -48865,22 +48865,22 @@ namespace OpenTK.Graphics.OpenGL
/// Specifies the index of the transform feedback stream from which to retrieve a primitive count.
/// </para>
/// </param>
[AutoGenerated(Category = "ARB_transform_feedback3", Version = "1.2", EntryPoint = "glDrawTransformFeedbackStream")]
[AutoGenerated(Category = "ARB_transform_feedback3", Version = "4.0", EntryPoint = "glDrawTransformFeedbackStream")]
public static
void DrawTransformFeedbackStream(OpenTK.Graphics.OpenGL.BeginMode mode, Int32 id, Int32 stream)
void DrawTransformFeedbackStream(OpenTK.Graphics.OpenGL.PrimitiveType mode, Int32 id, Int32 stream)
{
#if DEBUG
using (new ErrorHelper(GraphicsContext.CurrentContext))
{
#endif
Delegates.glDrawTransformFeedbackStream((OpenTK.Graphics.OpenGL.BeginMode)mode, (UInt32)id, (UInt32)stream);
Delegates.glDrawTransformFeedbackStream((OpenTK.Graphics.OpenGL.PrimitiveType)mode, (UInt32)id, (UInt32)stream);
#if DEBUG
}
#endif
}
/// <summary>[requires: v1.2 and ARB_transform_feedback3]
/// <summary>[requires: v4.0 and ARB_transform_feedback3]
/// Render primitives using a count derived from a specifed stream of a transform feedback object
/// </summary>
/// <param name="mode">
@ -48899,15 +48899,15 @@ namespace OpenTK.Graphics.OpenGL
/// </para>
/// </param>
[System.CLSCompliant(false)]
[AutoGenerated(Category = "ARB_transform_feedback3", Version = "1.2", EntryPoint = "glDrawTransformFeedbackStream")]
[AutoGenerated(Category = "ARB_transform_feedback3", Version = "4.0", EntryPoint = "glDrawTransformFeedbackStream")]
public static
void DrawTransformFeedbackStream(OpenTK.Graphics.OpenGL.BeginMode mode, UInt32 id, UInt32 stream)
void DrawTransformFeedbackStream(OpenTK.Graphics.OpenGL.PrimitiveType mode, UInt32 id, UInt32 stream)
{
#if DEBUG
using (new ErrorHelper(GraphicsContext.CurrentContext))
{
#endif
Delegates.glDrawTransformFeedbackStream((OpenTK.Graphics.OpenGL.BeginMode)mode, (UInt32)id, (UInt32)stream);
Delegates.glDrawTransformFeedbackStream((OpenTK.Graphics.OpenGL.PrimitiveType)mode, (UInt32)id, (UInt32)stream);
#if DEBUG
}
#endif
@ -48916,13 +48916,13 @@ namespace OpenTK.Graphics.OpenGL
/// <summary>[requires: v4.2 and ARB_transform_feedback_instanced]</summary>
[AutoGenerated(Category = "ARB_transform_feedback_instanced", Version = "4.2", EntryPoint = "glDrawTransformFeedbackStreamInstanced")]
public static
void DrawTransformFeedbackStreamInstanced(OpenTK.Graphics.OpenGL.ArbTransformFeedbackInstanced mode, Int32 id, Int32 stream, Int32 instancecount)
void DrawTransformFeedbackStreamInstanced(OpenTK.Graphics.OpenGL.PrimitiveType mode, Int32 id, Int32 stream, Int32 instancecount)
{
#if DEBUG
using (new ErrorHelper(GraphicsContext.CurrentContext))
{
#endif
Delegates.glDrawTransformFeedbackStreamInstanced((OpenTK.Graphics.OpenGL.ArbTransformFeedbackInstanced)mode, (UInt32)id, (UInt32)stream, (Int32)instancecount);
Delegates.glDrawTransformFeedbackStreamInstanced((OpenTK.Graphics.OpenGL.PrimitiveType)mode, (UInt32)id, (UInt32)stream, (Int32)instancecount);
#if DEBUG
}
#endif
@ -48932,13 +48932,13 @@ namespace OpenTK.Graphics.OpenGL
[System.CLSCompliant(false)]
[AutoGenerated(Category = "ARB_transform_feedback_instanced", Version = "4.2", EntryPoint = "glDrawTransformFeedbackStreamInstanced")]
public static
void DrawTransformFeedbackStreamInstanced(OpenTK.Graphics.OpenGL.ArbTransformFeedbackInstanced mode, UInt32 id, UInt32 stream, Int32 instancecount)
void DrawTransformFeedbackStreamInstanced(OpenTK.Graphics.OpenGL.PrimitiveType mode, UInt32 id, UInt32 stream, Int32 instancecount)
{
#if DEBUG
using (new ErrorHelper(GraphicsContext.CurrentContext))
{
#endif
Delegates.glDrawTransformFeedbackStreamInstanced((OpenTK.Graphics.OpenGL.ArbTransformFeedbackInstanced)mode, (UInt32)id, (UInt32)stream, (Int32)instancecount);
Delegates.glDrawTransformFeedbackStreamInstanced((OpenTK.Graphics.OpenGL.PrimitiveType)mode, (UInt32)id, (UInt32)stream, (Int32)instancecount);
#if DEBUG
}
#endif

View file

@ -1331,19 +1331,19 @@ namespace OpenTK.Graphics.OpenGL
internal extern static void DrawTextureNV(UInt32 texture, UInt32 sampler, Single x0, Single y0, Single x1, Single y1, Single z, Single s0, Single t0, Single s1, Single t1);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawTransformFeedback", ExactSpelling = true)]
internal extern static void DrawTransformFeedback(OpenTK.Graphics.OpenGL.BeginMode mode, UInt32 id);
internal extern static void DrawTransformFeedback(OpenTK.Graphics.OpenGL.PrimitiveType mode, UInt32 id);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawTransformFeedbackInstanced", ExactSpelling = true)]
internal extern static void DrawTransformFeedbackInstanced(OpenTK.Graphics.OpenGL.ArbTransformFeedbackInstanced mode, UInt32 id, Int32 instancecount);
internal extern static void DrawTransformFeedbackInstanced(OpenTK.Graphics.OpenGL.PrimitiveType mode, UInt32 id, Int32 instancecount);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawTransformFeedbackNV", ExactSpelling = true)]
internal extern static void DrawTransformFeedbackNV(OpenTK.Graphics.OpenGL.NvTransformFeedback2 mode, UInt32 id);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawTransformFeedbackStream", ExactSpelling = true)]
internal extern static void DrawTransformFeedbackStream(OpenTK.Graphics.OpenGL.BeginMode mode, UInt32 id, UInt32 stream);
internal extern static void DrawTransformFeedbackStream(OpenTK.Graphics.OpenGL.PrimitiveType mode, UInt32 id, UInt32 stream);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawTransformFeedbackStreamInstanced", ExactSpelling = true)]
internal extern static void DrawTransformFeedbackStreamInstanced(OpenTK.Graphics.OpenGL.ArbTransformFeedbackInstanced mode, UInt32 id, UInt32 stream, Int32 instancecount);
internal extern static void DrawTransformFeedbackStreamInstanced(OpenTK.Graphics.OpenGL.PrimitiveType mode, UInt32 id, UInt32 stream, Int32 instancecount);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEdgeFlag", ExactSpelling = true)]
internal extern static void EdgeFlag(bool flag);

View file

@ -1329,19 +1329,19 @@ namespace OpenTK.Graphics.OpenGL
internal delegate void DrawTextureNV(UInt32 texture, UInt32 sampler, Single x0, Single y0, Single x1, Single y1, Single z, Single s0, Single t0, Single s1, Single t1);
internal static DrawTextureNV glDrawTextureNV;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void DrawTransformFeedback(OpenTK.Graphics.OpenGL.BeginMode mode, UInt32 id);
internal delegate void DrawTransformFeedback(OpenTK.Graphics.OpenGL.PrimitiveType mode, UInt32 id);
internal static DrawTransformFeedback glDrawTransformFeedback;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void DrawTransformFeedbackInstanced(OpenTK.Graphics.OpenGL.ArbTransformFeedbackInstanced mode, UInt32 id, Int32 instancecount);
internal delegate void DrawTransformFeedbackInstanced(OpenTK.Graphics.OpenGL.PrimitiveType mode, UInt32 id, Int32 instancecount);
internal static DrawTransformFeedbackInstanced glDrawTransformFeedbackInstanced;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void DrawTransformFeedbackNV(OpenTK.Graphics.OpenGL.NvTransformFeedback2 mode, UInt32 id);
internal static DrawTransformFeedbackNV glDrawTransformFeedbackNV;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void DrawTransformFeedbackStream(OpenTK.Graphics.OpenGL.BeginMode mode, UInt32 id, UInt32 stream);
internal delegate void DrawTransformFeedbackStream(OpenTK.Graphics.OpenGL.PrimitiveType mode, UInt32 id, UInt32 stream);
internal static DrawTransformFeedbackStream glDrawTransformFeedbackStream;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void DrawTransformFeedbackStreamInstanced(OpenTK.Graphics.OpenGL.ArbTransformFeedbackInstanced mode, UInt32 id, UInt32 stream, Int32 instancecount);
internal delegate void DrawTransformFeedbackStreamInstanced(OpenTK.Graphics.OpenGL.PrimitiveType mode, UInt32 id, UInt32 stream, Int32 instancecount);
internal static DrawTransformFeedbackStreamInstanced glDrawTransformFeedbackStreamInstanced;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void EdgeFlag(bool flag);

View file

@ -26307,7 +26307,7 @@ namespace OpenTK.Graphics.OpenGL
}
/// <summary>
/// Used in GL.DrawTransformFeedbackInstanced, GL.DrawTransformFeedbackStreamInstanced
/// Not used directly.
/// </summary>
public enum ArbTransformFeedbackInstanced : int
{
@ -28647,7 +28647,7 @@ namespace OpenTK.Graphics.OpenGL
}
/// <summary>
/// Used in GL.DrawTransformFeedback, GL.DrawTransformFeedbackStream
/// Not used directly.
/// </summary>
public enum BeginMode : int
{
@ -30386,30 +30386,62 @@ namespace OpenTK.Graphics.OpenGL
/// </summary>
PolygonOffsetLine = ((int)0x2A02) ,
/// <summary>
/// Original was GL_CLIP_DISTANCE0 = 0x3000
/// </summary>
ClipDistance0 = ((int)0x3000) ,
/// <summary>
/// Original was GL_CLIP_PLANE0 = 0x3000
/// </summary>
ClipPlane0 = ((int)0x3000) ,
/// <summary>
/// Original was GL_CLIP_DISTANCE1 = 0x3001
/// </summary>
ClipDistance1 = ((int)0x3001) ,
/// <summary>
/// Original was GL_CLIP_PLANE1 = 0x3001
/// </summary>
ClipPlane1 = ((int)0x3001) ,
/// <summary>
/// Original was GL_CLIP_DISTANCE2 = 0x3002
/// </summary>
ClipDistance2 = ((int)0x3002) ,
/// <summary>
/// Original was GL_CLIP_PLANE2 = 0x3002
/// </summary>
ClipPlane2 = ((int)0x3002) ,
/// <summary>
/// Original was GL_CLIP_DISTANCE3 = 0x3003
/// </summary>
ClipDistance3 = ((int)0x3003) ,
/// <summary>
/// Original was GL_CLIP_PLANE3 = 0x3003
/// </summary>
ClipPlane3 = ((int)0x3003) ,
/// <summary>
/// Original was GL_CLIP_DISTANCE4 = 0x3004
/// </summary>
ClipDistance4 = ((int)0x3004) ,
/// <summary>
/// Original was GL_CLIP_PLANE4 = 0x3004
/// </summary>
ClipPlane4 = ((int)0x3004) ,
/// <summary>
/// Original was GL_CLIP_DISTANCE5 = 0x3005
/// </summary>
ClipDistance5 = ((int)0x3005) ,
/// <summary>
/// Original was GL_CLIP_PLANE5 = 0x3005
/// </summary>
ClipPlane5 = ((int)0x3005) ,
/// <summary>
/// Original was GL_CLIP_DISTANCE6 = 0x3006
/// </summary>
ClipDistance6 = ((int)0x3006) ,
/// <summary>
/// Original was GL_CLIP_DISTANCE7 = 0x3007
/// </summary>
ClipDistance7 = ((int)0x3007) ,
/// <summary>
/// Original was GL_LIGHT0 = 0x4000
/// </summary>
Light0 = ((int)0x4000) ,
@ -48141,7 +48173,7 @@ namespace OpenTK.Graphics.OpenGL
}
/// <summary>
/// Used in GL.Apple.DrawElementArray, GL.Apple.DrawRangeElementArray, GL.Apple.MultiDrawElementArray, GL.Apple.MultiDrawRangeElementArray, GL.Arb.DrawArraysInstanced, GL.Arb.DrawElementsInstanced, GL.Ati.DrawElementArray, GL.Ati.DrawRangeElementArray, GL.Begin, GL.DrawArrays, GL.DrawArraysIndirect, GL.DrawArraysInstanced, GL.DrawArraysInstancedBaseInstance, GL.DrawElements, GL.DrawElementsBaseVertex, GL.DrawElementsInstanced, GL.DrawElementsInstancedBaseInstance, GL.DrawElementsInstancedBaseVertex, GL.DrawElementsInstancedBaseVertexBaseInstance, GL.DrawRangeElements, GL.DrawRangeElementsBaseVertex, GL.MultiDrawArrays, GL.MultiDrawArraysIndirect, GL.MultiDrawElements, GL.MultiDrawElementsBaseVertex, GL.Ext.DrawArrays, GL.Ext.DrawArraysInstanced, GL.Ext.DrawElementsInstanced, GL.Ext.DrawRangeElements, GL.Ext.MultiDrawArrays, GL.Ext.MultiDrawElements, GL.Ibm.MultiModeDrawArrays, GL.Ibm.MultiModeDrawElements, GL.Sun.DrawMeshArrays
/// Used in GL.Apple.DrawElementArray, GL.Apple.DrawRangeElementArray, GL.Apple.MultiDrawElementArray, GL.Apple.MultiDrawRangeElementArray, GL.Arb.DrawArraysInstanced, GL.Arb.DrawElementsInstanced, GL.Ati.DrawElementArray, GL.Ati.DrawRangeElementArray, GL.Begin, GL.DrawArrays, GL.DrawArraysIndirect, GL.DrawArraysInstanced, GL.DrawArraysInstancedBaseInstance, GL.DrawElements, GL.DrawElementsBaseVertex, GL.DrawElementsInstanced, GL.DrawElementsInstancedBaseInstance, GL.DrawElementsInstancedBaseVertex, GL.DrawElementsInstancedBaseVertexBaseInstance, GL.DrawRangeElements, GL.DrawRangeElementsBaseVertex, GL.DrawTransformFeedback, GL.DrawTransformFeedbackInstanced, GL.DrawTransformFeedbackStream, GL.DrawTransformFeedbackStreamInstanced, GL.MultiDrawArrays, GL.MultiDrawArraysIndirect, GL.MultiDrawElements, GL.MultiDrawElementsBaseVertex, GL.Ext.DrawArrays, GL.Ext.DrawArraysInstanced, GL.Ext.DrawElementsInstanced, GL.Ext.DrawRangeElements, GL.Ext.MultiDrawArrays, GL.Ext.MultiDrawElements, GL.Ibm.MultiModeDrawArrays, GL.Ibm.MultiModeDrawElements, GL.Sun.DrawMeshArrays
/// </summary>
public enum PrimitiveType : int
{