Implemented strongly-typed Framebuffer and Renderbuffer Objects

according to the OpenGL 4.4 specification, section 9.
This commit is contained in:
Stefanos A. 2013-10-22 20:52:37 +02:00
parent 5a59e63cea
commit 745fd9974f
5 changed files with 106 additions and 14 deletions

View file

@ -924,6 +924,24 @@
</param>
</function>
<function name="FramebufferParameter" extension="Core">
<param name="target">
<type>FramebufferTarget</type>
</param>
<param name="pname">
<type>FramebufferDefaultParameter</type>
</param>
</function>
<function name="GetFramebufferParameter" extension="Core">
<param name="target">
<type>FramebufferTarget</type>
</param>
<param name="pname">
<type>FramebufferDefaultParameter</type>
</param>
</function>
<function name="GetProgramInterfaceiv" extension="Core">
<param name="programInterface">
<type>ProgramInterface</type>
@ -2006,6 +2024,14 @@
<token name="COLOR_ATTACHMENT9_EXT" value="0x8CE9" />
<token name="DEPTH_ATTACHMENT_EXT" value="0x8D00" />
<token name="STENCIL_ATTACHMENT_EXT" value="0x8D20" />
<use enum="VERSION_1_1" token="FRONT_LEFT" />
<use enum="VERSION_1_1" token="FRONT_RIGHT" />
<use enum="VERSION_1_1" token="BACK_LEFT" />
<use enum="VERSION_1_1" token="BACK_RIGHT" />
<use enum="VERSION_1_1" token="AUX0" />
<use enum="VERSION_1_1" token="AUX1" />
<use enum="VERSION_1_1" token="AUX2" />
<use enum="VERSION_1_1" token="AUX3" />
</enum>
<enum name="FramebufferAttachmentComponentType">
<use enum="DataType" token="FLOAT" />
@ -2019,6 +2045,13 @@
<use enum="ARB_framebuffer_object" token="RENDERBUFFER" />
<token name="NONE" value="0" />
</enum>
<enum name="FramebufferDefaultParameter">
<use enum="VERSION_4_3" token="FRAMEBUFFER_DEFAULT_WIDTH" />
<use enum="VERSION_4_3" token="FRAMEBUFFER_DEFAULT_HEIGHT" />
<use enum="VERSION_4_3" token="FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS" />
<use enum="VERSION_4_3" token="FRAMEBUFFER_DEFAULT_SAMPLES" />
<use enum="VERSION_4_3" token="FRAMEBUFFER_DEFAULT_LAYERS" />
</enum>
<enum name="FramebufferErrorCode">
<use enum="ARB_framebuffer_object" token="FRAMEBUFFER_COMPLETE" />
<use enum="ARB_framebuffer_object" token="FRAMEBUFFER_INCOMPLETE_ATTACHMENT" />

View file

@ -50640,13 +50640,13 @@ namespace OpenTK.Graphics.OpenGL
/// <summary>[requires: v4.3 and ARB_framebuffer_no_attachments]</summary>
[AutoGenerated(Category = "ARB_framebuffer_no_attachments", Version = "4.3", EntryPoint = "glFramebufferParameteri")]
public static
void FramebufferParameter(OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments target, OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments pname, Int32 param)
void FramebufferParameter(OpenTK.Graphics.OpenGL.FramebufferTarget target, OpenTK.Graphics.OpenGL.FramebufferDefaultParameter pname, Int32 param)
{
#if DEBUG
using (new ErrorHelper(GraphicsContext.CurrentContext))
{
#endif
Delegates.glFramebufferParameteri((OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments)target, (OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments)pname, (Int32)param);
Delegates.glFramebufferParameteri((OpenTK.Graphics.OpenGL.FramebufferTarget)target, (OpenTK.Graphics.OpenGL.FramebufferDefaultParameter)pname, (Int32)param);
#if DEBUG
}
#endif
@ -58053,7 +58053,7 @@ namespace OpenTK.Graphics.OpenGL
/// <summary>[requires: v4.3 and ARB_framebuffer_no_attachments]</summary>
[AutoGenerated(Category = "ARB_framebuffer_no_attachments", Version = "4.3", EntryPoint = "glGetFramebufferParameteriv")]
public static
void GetFramebufferParameter(OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments target, OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments pname, [OutAttribute] Int32[] @params)
void GetFramebufferParameter(OpenTK.Graphics.OpenGL.FramebufferTarget target, OpenTK.Graphics.OpenGL.FramebufferDefaultParameter pname, [OutAttribute] Int32[] @params)
{
#if DEBUG
using (new ErrorHelper(GraphicsContext.CurrentContext))
@ -58063,7 +58063,7 @@ namespace OpenTK.Graphics.OpenGL
{
fixed (Int32* @params_ptr = @params)
{
Delegates.glGetFramebufferParameteriv((OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments)target, (OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments)pname, (Int32*)@params_ptr);
Delegates.glGetFramebufferParameteriv((OpenTK.Graphics.OpenGL.FramebufferTarget)target, (OpenTK.Graphics.OpenGL.FramebufferDefaultParameter)pname, (Int32*)@params_ptr);
}
}
#if DEBUG
@ -58074,7 +58074,7 @@ namespace OpenTK.Graphics.OpenGL
/// <summary>[requires: v4.3 and ARB_framebuffer_no_attachments]</summary>
[AutoGenerated(Category = "ARB_framebuffer_no_attachments", Version = "4.3", EntryPoint = "glGetFramebufferParameteriv")]
public static
void GetFramebufferParameter(OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments target, OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments pname, [OutAttribute] out Int32 @params)
void GetFramebufferParameter(OpenTK.Graphics.OpenGL.FramebufferTarget target, OpenTK.Graphics.OpenGL.FramebufferDefaultParameter pname, [OutAttribute] out Int32 @params)
{
#if DEBUG
using (new ErrorHelper(GraphicsContext.CurrentContext))
@ -58084,7 +58084,7 @@ namespace OpenTK.Graphics.OpenGL
{
fixed (Int32* @params_ptr = &@params)
{
Delegates.glGetFramebufferParameteriv((OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments)target, (OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments)pname, (Int32*)@params_ptr);
Delegates.glGetFramebufferParameteriv((OpenTK.Graphics.OpenGL.FramebufferTarget)target, (OpenTK.Graphics.OpenGL.FramebufferDefaultParameter)pname, (Int32*)@params_ptr);
@params = *@params_ptr;
}
}
@ -58097,13 +58097,13 @@ namespace OpenTK.Graphics.OpenGL
[System.CLSCompliant(false)]
[AutoGenerated(Category = "ARB_framebuffer_no_attachments", Version = "4.3", EntryPoint = "glGetFramebufferParameteriv")]
public static
unsafe void GetFramebufferParameter(OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments target, OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments pname, [OutAttribute] Int32* @params)
unsafe void GetFramebufferParameter(OpenTK.Graphics.OpenGL.FramebufferTarget target, OpenTK.Graphics.OpenGL.FramebufferDefaultParameter pname, [OutAttribute] Int32* @params)
{
#if DEBUG
using (new ErrorHelper(GraphicsContext.CurrentContext))
{
#endif
Delegates.glGetFramebufferParameteriv((OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments)target, (OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments)pname, (Int32*)@params);
Delegates.glGetFramebufferParameteriv((OpenTK.Graphics.OpenGL.FramebufferTarget)target, (OpenTK.Graphics.OpenGL.FramebufferDefaultParameter)pname, (Int32*)@params);
#if DEBUG
}
#endif

View file

@ -1667,7 +1667,7 @@ namespace OpenTK.Graphics.OpenGL
internal extern static unsafe void FramebufferDrawBuffersEXT(UInt32 framebuffer, Int32 n, OpenTK.Graphics.OpenGL.DrawBufferMode* bufs);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferParameteri", ExactSpelling = true)]
internal extern static void FramebufferParameteri(OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments target, OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments pname, Int32 param);
internal extern static void FramebufferParameteri(OpenTK.Graphics.OpenGL.FramebufferTarget target, OpenTK.Graphics.OpenGL.FramebufferDefaultParameter pname, Int32 param);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferReadBufferEXT", ExactSpelling = true)]
internal extern static void FramebufferReadBufferEXT(UInt32 framebuffer, OpenTK.Graphics.OpenGL.ReadBufferMode mode);
@ -2090,7 +2090,7 @@ namespace OpenTK.Graphics.OpenGL
internal extern static unsafe void GetFramebufferAttachmentParameterivEXT(OpenTK.Graphics.OpenGL.FramebufferTarget target, OpenTK.Graphics.OpenGL.FramebufferAttachment attachment, OpenTK.Graphics.OpenGL.FramebufferParameterName pname, [OutAttribute] Int32* @params);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFramebufferParameteriv", ExactSpelling = true)]
internal extern static unsafe void GetFramebufferParameteriv(OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments target, OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments pname, [OutAttribute] Int32* @params);
internal extern static unsafe void GetFramebufferParameteriv(OpenTK.Graphics.OpenGL.FramebufferTarget target, OpenTK.Graphics.OpenGL.FramebufferDefaultParameter pname, [OutAttribute] Int32* @params);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFramebufferParameterivEXT", ExactSpelling = true)]
internal extern static unsafe void GetFramebufferParameterivEXT(UInt32 framebuffer, OpenTK.Graphics.OpenGL.ExtDirectStateAccess pname, [OutAttribute] Int32* @params);

View file

@ -1665,7 +1665,7 @@ namespace OpenTK.Graphics.OpenGL
internal unsafe delegate void FramebufferDrawBuffersEXT(UInt32 framebuffer, Int32 n, OpenTK.Graphics.OpenGL.DrawBufferMode* bufs);
internal unsafe static FramebufferDrawBuffersEXT glFramebufferDrawBuffersEXT;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void FramebufferParameteri(OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments target, OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments pname, Int32 param);
internal delegate void FramebufferParameteri(OpenTK.Graphics.OpenGL.FramebufferTarget target, OpenTK.Graphics.OpenGL.FramebufferDefaultParameter pname, Int32 param);
internal static FramebufferParameteri glFramebufferParameteri;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void FramebufferReadBufferEXT(UInt32 framebuffer, OpenTK.Graphics.OpenGL.ReadBufferMode mode);
@ -2088,7 +2088,7 @@ namespace OpenTK.Graphics.OpenGL
internal unsafe delegate void GetFramebufferAttachmentParameterivEXT(OpenTK.Graphics.OpenGL.FramebufferTarget target, OpenTK.Graphics.OpenGL.FramebufferAttachment attachment, OpenTK.Graphics.OpenGL.FramebufferParameterName pname, [OutAttribute] Int32* @params);
internal unsafe static GetFramebufferAttachmentParameterivEXT glGetFramebufferAttachmentParameterivEXT;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetFramebufferParameteriv(OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments target, OpenTK.Graphics.OpenGL.ArbFramebufferNoAttachments pname, [OutAttribute] Int32* @params);
internal unsafe delegate void GetFramebufferParameteriv(OpenTK.Graphics.OpenGL.FramebufferTarget target, OpenTK.Graphics.OpenGL.FramebufferDefaultParameter pname, [OutAttribute] Int32* @params);
internal unsafe static GetFramebufferParameteriv glGetFramebufferParameteriv;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetFramebufferParameterivEXT(UInt32 framebuffer, OpenTK.Graphics.OpenGL.ExtDirectStateAccess pname, [OutAttribute] Int32* @params);

View file

@ -22222,7 +22222,7 @@ namespace OpenTK.Graphics.OpenGL
}
/// <summary>
/// Used in GL.FramebufferParameter, GL.GetFramebufferParameter, GL.Ext.GetNamedFramebufferParameter, GL.Ext.NamedFramebufferParameter
/// Used in GL.Ext.GetNamedFramebufferParameter, GL.Ext.NamedFramebufferParameter
/// </summary>
public enum ArbFramebufferNoAttachments : int
{
@ -35355,6 +35355,38 @@ namespace OpenTK.Graphics.OpenGL
/// </summary>
public enum FramebufferAttachment : int
{
/// <summary>
/// Original was GL_FRONT_LEFT = 0x0400
/// </summary>
FrontLeft = ((int)0x0400) ,
/// <summary>
/// Original was GL_FRONT_RIGHT = 0x0401
/// </summary>
FrontRight = ((int)0x0401) ,
/// <summary>
/// Original was GL_BACK_LEFT = 0x0402
/// </summary>
BackLeft = ((int)0x0402) ,
/// <summary>
/// Original was GL_BACK_RIGHT = 0x0403
/// </summary>
BackRight = ((int)0x0403) ,
/// <summary>
/// Original was GL_AUX0 = 0x0409
/// </summary>
Aux0 = ((int)0x0409) ,
/// <summary>
/// Original was GL_AUX1 = 0x040A
/// </summary>
Aux1 = ((int)0x040A) ,
/// <summary>
/// Original was GL_AUX2 = 0x040B
/// </summary>
Aux2 = ((int)0x040B) ,
/// <summary>
/// Original was GL_AUX3 = 0x040C
/// </summary>
Aux3 = ((int)0x040C) ,
/// <summary>
/// Original was GL_DEPTH_STENCIL_ATTACHMENT = 0x821A
/// </summary>
@ -35551,6 +35583,33 @@ namespace OpenTK.Graphics.OpenGL
Renderbuffer = ((int)0x8D41) ,
}
/// <summary>
/// Used in GL.FramebufferParameter, GL.GetFramebufferParameter
/// </summary>
public enum FramebufferDefaultParameter : int
{
/// <summary>
/// Original was GL_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310
/// </summary>
FramebufferDefaultWidth = ((int)0x9310) ,
/// <summary>
/// Original was GL_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311
/// </summary>
FramebufferDefaultHeight = ((int)0x9311) ,
/// <summary>
/// Original was GL_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312
/// </summary>
FramebufferDefaultLayers = ((int)0x9312) ,
/// <summary>
/// Original was GL_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313
/// </summary>
FramebufferDefaultSamples = ((int)0x9313) ,
/// <summary>
/// Original was GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314
/// </summary>
FramebufferDefaultFixedSampleLocations = ((int)0x9314) ,
}
/// <summary>
/// Not used directly.
/// </summary>
@ -35714,7 +35773,7 @@ namespace OpenTK.Graphics.OpenGL
}
/// <summary>
/// Used in GL.Arb.FramebufferTexture, GL.Arb.FramebufferTextureFace, GL.Arb.FramebufferTextureLayer, GL.BindFramebuffer, GL.CheckFramebufferStatus, GL.FramebufferRenderbuffer, GL.FramebufferTexture, GL.FramebufferTexture1D, GL.FramebufferTexture2D, GL.FramebufferTexture3D, GL.FramebufferTextureLayer, GL.GetFramebufferAttachmentParameter, GL.Ext.BindFramebuffer, GL.Ext.CheckFramebufferStatus, GL.Ext.CheckNamedFramebufferStatus, GL.Ext.FramebufferRenderbuffer, GL.Ext.FramebufferTexture1D, GL.Ext.FramebufferTexture2D, GL.Ext.FramebufferTexture3D, GL.Ext.FramebufferTexture, GL.Ext.FramebufferTextureFace, GL.Ext.FramebufferTextureLayer, GL.Ext.GetFramebufferAttachmentParameter
/// Used in GL.Arb.FramebufferTexture, GL.Arb.FramebufferTextureFace, GL.Arb.FramebufferTextureLayer, GL.BindFramebuffer, GL.CheckFramebufferStatus, GL.FramebufferParameter, GL.FramebufferRenderbuffer, GL.FramebufferTexture, GL.FramebufferTexture1D, GL.FramebufferTexture2D, GL.FramebufferTexture3D, GL.FramebufferTextureLayer, GL.GetFramebufferAttachmentParameter, GL.GetFramebufferParameter, GL.Ext.BindFramebuffer, GL.Ext.CheckFramebufferStatus, GL.Ext.CheckNamedFramebufferStatus, GL.Ext.FramebufferRenderbuffer, GL.Ext.FramebufferTexture1D, GL.Ext.FramebufferTexture2D, GL.Ext.FramebufferTexture3D, GL.Ext.FramebufferTexture, GL.Ext.FramebufferTextureFace, GL.Ext.FramebufferTextureLayer, GL.Ext.GetFramebufferAttachmentParameter
/// </summary>
public enum FramebufferTarget : int
{