Add framebuffer code.

This commit is contained in:
UnknownShadow200 2015-06-21 07:30:20 +10:00
parent 4a5bddc934
commit aabbe30dec
6 changed files with 1934 additions and 1746 deletions

View file

@ -124,6 +124,7 @@
<Compile Include="GraphicsAPI\OpenGLApi.cs" />
<Compile Include="Commands\Command.cs" />
<Compile Include="GraphicsAPI\Shader.cs" />
<Compile Include="GraphicsAPI\ShadowMap.cs" />
<Compile Include="GraphicsAPI\VertexFormats.cs" />
<Compile Include="Ionic.Zlib\DeflateStream.cs" />
<Compile Include="Ionic.Zlib\Inflate.cs" />

90
GraphicsAPI/ShadowMap.cs Normal file
View file

@ -0,0 +1,90 @@
using System;
using OpenTK.Graphics.OpenGL;
namespace ClassicalSharp.GraphicsAPI {
public sealed class Framebuffer {
public int Width, Height;
public int FboId;
public int ColourTexId, DepthTexId;
bool depthOnly;
ClearBufferMask mask = 0;
public Framebuffer( int width, int height ) {
Width = width;
Height = height;
}
public unsafe void Initalise( bool attachColour, bool attachDepth, bool depthOnly ) {
int fboId;
GL.GenFramebuffers( 1, &fboId );
FboId = fboId;
GL.BindFramebuffer( FramebufferTarget.Framebuffer, FboId );
if( attachColour ) {
ColourTexId = AttachTexture( FramebufferAttachment.ColorAttachment0,
PixelInternalFormat.Rgba, PixelFormat.Bgra );
mask |= ClearBufferMask.ColorBufferBit;
}
if( attachDepth ) {
DepthTexId = AttachTexture( FramebufferAttachment.DepthAttachment,
PixelInternalFormat.DepthComponent, PixelFormat.DepthComponent );
mask |= ClearBufferMask.DepthBufferBit;
}
this.depthOnly = depthOnly;
GL.DrawBuffer( depthOnly ? DrawBufferMode.None : DrawBufferMode.ColorAttachment0 );
GL.ReadBuffer( ReadBufferMode.None );
FramebufferErrorCode status = GL.CheckFramebufferStatus( FramebufferTarget.Framebuffer );
if( status != FramebufferErrorCode.FramebufferComplete ) {
throw new InvalidOperationException( "FBO exception: " + status );
}
GL.BindFramebuffer( FramebufferTarget.Framebuffer, 0 );
}
unsafe int AttachTexture( FramebufferAttachment attachment, PixelInternalFormat inFormat, PixelFormat format ) {
int texId;
GL.GenTextures( 1, &texId );
GL.BindTexture( TextureTarget.Texture2D, texId );
GL.TexParameter( TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Nearest );
GL.TexParameter( TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Nearest );
GL.TexParameter( TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)TextureWrapMode.ClampToEdge );
GL.TexParameter( TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)TextureWrapMode.ClampToEdge );
GL.TexImage2D( TextureTarget.Texture2D, 0, inFormat, Width, Height, 0, format, PixelType.UnsignedByte, IntPtr.Zero );
GL.FramebufferTexture2D( FramebufferTarget.Framebuffer, attachment, TextureTarget.Texture2D, texId, 0 );
return texId;
}
public void BindForColourReading( int unit ) {
GL.ActiveTexture( (TextureUnit)( TextureUnit.Texture0 + unit ) );
GL.BindTexture( TextureTarget.Texture2D, ColourTexId );
GL.ActiveTexture( TextureUnit.Texture0 );
}
public void BindForDepthReading( int unit ) {
GL.ActiveTexture( (TextureUnit)( TextureUnit.Texture0 + unit ) );
GL.BindTexture( TextureTarget.Texture2D, DepthTexId );
GL.ActiveTexture( TextureUnit.Texture0 );
}
public void BindForWriting( Game game ) {
GL.BindFramebuffer( FramebufferTarget.Framebuffer, FboId );
if( depthOnly ) { // TODO: is this necessary?
GL.ColorMask( false, false, false, false );
}
GL.Viewport( 0, 0, Width, Height );
GL.Clear( ClearBufferMask.DepthBufferBit );
}
public void UnbindFromWriting( Game game ) {
GL.BindFramebuffer( FramebufferTarget.Framebuffer, 0 );
if( depthOnly ) {
GL.ColorMask( true, true, true, true );
}
GL.Viewport( 0, 0, game.Width, game.Height );
}
}
}

View file

@ -51,6 +51,12 @@ namespace OpenTK.Graphics.OpenGL {
Delegates.glBindBuffer(target, (UInt32)buffer);
}
[AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glBindFramebuffer")]
public static
void BindFramebuffer(FramebufferTarget target, Int32 framebuffer) {
Delegates.glBindFramebuffer(target, (UInt32)framebuffer);
}
[AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glBindTexture")]
public static void BindTexture(TextureTarget target, Int32 texture) {
Delegates.glBindTexture(target, (UInt32)texture);
@ -61,6 +67,11 @@ namespace OpenTK.Graphics.OpenGL {
Delegates.glBlendFunc(sfactor, dfactor);
}
[AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glBlitFramebuffer")]
public static void BlitFramebuffer(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, ClearBufferMask mask, BlitFramebufferFilter filter) {
Delegates.glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
}
[AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferData")]
public static void BufferData(BufferTarget target, IntPtr size, IntPtr data, BufferUsageHint usage) {
Delegates.glBufferData(target, size, data, usage);
@ -95,6 +106,11 @@ namespace OpenTK.Graphics.OpenGL {
}
}
[AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glCheckFramebufferStatus")]
public static FramebufferErrorCode CheckFramebufferStatus(FramebufferTarget target) {
return Delegates.glCheckFramebufferStatus(target);
}
[AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glClear")]
public static void Clear(ClearBufferMask mask) {
Delegates.glClear(mask);
@ -110,11 +126,6 @@ namespace OpenTK.Graphics.OpenGL {
Delegates.glClearDepth(depth);
}
[AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glClientActiveTexture")]
public static void ClientActiveTexture(OpenTK.Graphics.OpenGL.TextureUnit texture) {
Delegates.glClientActiveTexture((OpenTK.Graphics.OpenGL.TextureUnit)texture);
}
[AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glColorMask")]
public static void ColorMask(bool red, bool green, bool blue, bool alpha) {
Delegates.glColorMask(red, green, blue, alpha);
@ -146,6 +157,12 @@ namespace OpenTK.Graphics.OpenGL {
Delegates.glDeleteBuffers(n, (UInt32*)buffers);
}
[System.CLSCompliant(false)]
[AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteFramebuffers")]
public static unsafe void DeleteFramebuffers(Int32 n, Int32* framebuffers) {
Delegates.glDeleteFramebuffers(n, (UInt32*)framebuffers);
}
[AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDeleteProgram")]
public static void DeleteProgram(Int32 program) {
Delegates.glDeleteProgram((UInt32)program);
@ -197,6 +214,11 @@ namespace OpenTK.Graphics.OpenGL {
Delegates.glDrawArrays(mode, first, count);
}
[AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glDrawBuffer")]
public static void DrawBuffer(DrawBufferMode mode) {
Delegates.glDrawBuffer(mode);
}
[AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDrawElements")]
public static void DrawElements(BeginMode mode, Int32 count, DrawElementsType type, IntPtr indices) {
Delegates.glDrawElements(mode, count, type, indices);
@ -222,6 +244,11 @@ namespace OpenTK.Graphics.OpenGL {
Delegates.glFlush();
}
[AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTexture2D")]
public static void FramebufferTexture2D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level) {
Delegates.glFramebufferTexture2D(target, attachment, textarget, (UInt32)texture, level);
}
[AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glFrontFace")]
public static void FrontFace(FrontFaceDirection mode) {
Delegates.glFrontFace(mode);
@ -233,6 +260,12 @@ namespace OpenTK.Graphics.OpenGL {
Delegates.glGenBuffers(n, (UInt32*)buffers);
}
[System.CLSCompliant(false)]
[AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenFramebuffers")]
public static unsafe void GenFramebuffers(Int32 n, [OutAttribute] Int32* framebuffers) {
Delegates.glGenFramebuffers(n, (UInt32*)framebuffers);
}
[System.CLSCompliant(false)]
[AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGenTextures")]
public static unsafe void GenTextures(Int32 n, [OutAttribute] Int32* textures) {
@ -323,6 +356,11 @@ namespace OpenTK.Graphics.OpenGL {
return Delegates.glIsBuffer((UInt32)buffer);
}
[AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glIsFramebuffer")]
public static bool IsFramebuffer(Int32 framebuffer) {
return Delegates.glIsFramebuffer((UInt32)framebuffer);
}
[AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glIsProgram")]
public static bool IsProgram(Int32 program) {
return Delegates.glIsProgram((UInt32)program);
@ -348,6 +386,11 @@ namespace OpenTK.Graphics.OpenGL {
Delegates.glLogicOp(opcode);
}
[AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glReadBuffer")]
public static void ReadBuffer(ReadBufferMode mode) {
Delegates.glReadBuffer(mode);
}
[AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glPixelStoref")]
public static void PixelStore(PixelStoreParameter pname, Single param) {
Delegates.glPixelStoref(pname, param);

View file

@ -40,7 +40,7 @@ namespace OpenTK.Graphics.OpenGL
{
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glActiveTexture", ExactSpelling = true)]
internal extern static void ActiveTexture(OpenTK.Graphics.OpenGL.TextureUnit texture);
internal extern static void ActiveTexture(TextureUnit texture);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAttachShader", ExactSpelling = true)]
@ -48,27 +48,39 @@ namespace OpenTK.Graphics.OpenGL
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBuffer", ExactSpelling = true)]
internal extern static void BindBuffer(OpenTK.Graphics.OpenGL.BufferTarget target, UInt32 buffer);
internal extern static void BindBuffer(BufferTarget target, UInt32 buffer);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindFramebuffer", ExactSpelling = true)]
internal extern static void BindFramebuffer(FramebufferTarget target, UInt32 framebuffer);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindTexture", ExactSpelling = true)]
internal extern static void BindTexture(OpenTK.Graphics.OpenGL.TextureTarget target, UInt32 texture);
internal extern static void BindTexture(TextureTarget target, UInt32 texture);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFunc", ExactSpelling = true)]
internal extern static void BlendFunc(OpenTK.Graphics.OpenGL.BlendingFactor sfactor, OpenTK.Graphics.OpenGL.BlendingFactor dfactor);
internal extern static void BlendFunc(BlendingFactor sfactor, BlendingFactor dfactor);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlitFramebuffer", ExactSpelling = true)]
internal extern static void BlitFramebuffer(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, ClearBufferMask mask, BlitFramebufferFilter filter);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBufferData", ExactSpelling = true)]
internal extern static void BufferData(OpenTK.Graphics.OpenGL.BufferTarget target, IntPtr size, IntPtr data, OpenTK.Graphics.OpenGL.BufferUsageHint usage);
internal extern static void BufferData(BufferTarget target, IntPtr size, IntPtr data, BufferUsageHint usage);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBufferSubData", ExactSpelling = true)]
internal extern static void BufferSubData(OpenTK.Graphics.OpenGL.BufferTarget target, IntPtr offset, IntPtr size, IntPtr data);
internal extern static void BufferSubData(BufferTarget target, IntPtr offset, IntPtr size, IntPtr data);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCheckFramebufferStatus", ExactSpelling = true)]
internal extern static FramebufferErrorCode CheckFramebufferStatus(FramebufferTarget target);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClear", ExactSpelling = true)]
internal extern static void Clear(OpenTK.Graphics.OpenGL.ClearBufferMask mask);
internal extern static void Clear(ClearBufferMask mask);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearColor", ExactSpelling = true)]
@ -78,10 +90,6 @@ namespace OpenTK.Graphics.OpenGL
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearDepth", ExactSpelling = true)]
internal extern static void ClearDepth(Double depth);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClientActiveTexture", ExactSpelling = true)]
internal extern static void ClientActiveTexture(OpenTK.Graphics.OpenGL.TextureUnit texture);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorMask", ExactSpelling = true)]
internal extern static void ColorMask(bool red, bool green, bool blue, bool alpha);
@ -96,16 +104,20 @@ namespace OpenTK.Graphics.OpenGL
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCreateShader", ExactSpelling = true)]
internal extern static Int32 CreateShader(OpenTK.Graphics.OpenGL.ShaderType type);
internal extern static Int32 CreateShader(ShaderType type);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCullFace", ExactSpelling = true)]
internal extern static void CullFace(OpenTK.Graphics.OpenGL.CullFaceMode mode);
internal extern static void CullFace(CullFaceMode mode);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteBuffers", ExactSpelling = true)]
internal extern static unsafe void DeleteBuffers(Int32 n, UInt32* buffers);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteFramebuffers", ExactSpelling = true)]
internal extern static unsafe void DeleteFramebuffers(Int32 n, UInt32* framebuffers);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteProgram", ExactSpelling = true)]
internal extern static void DeleteProgram(UInt32 program);
@ -120,7 +132,7 @@ namespace OpenTK.Graphics.OpenGL
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDepthFunc", ExactSpelling = true)]
internal extern static void DepthFunc(OpenTK.Graphics.OpenGL.DepthFunction func);
internal extern static void DepthFunc(DepthFunction func);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDepthMask", ExactSpelling = true)]
internal extern static void DepthMask(bool flag);
@ -134,7 +146,7 @@ namespace OpenTK.Graphics.OpenGL
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisable", ExactSpelling = true)]
internal extern static void Disable(OpenTK.Graphics.OpenGL.EnableCap cap);
internal extern static void Disable(EnableCap cap);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisableVertexAttribArray", ExactSpelling = true)]
@ -142,15 +154,19 @@ namespace OpenTK.Graphics.OpenGL
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawArrays", ExactSpelling = true)]
internal extern static void DrawArrays(OpenTK.Graphics.OpenGL.BeginMode mode, Int32 first, Int32 count);
internal extern static void DrawArrays(BeginMode mode, Int32 first, Int32 count);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawBuffer", ExactSpelling = true)]
internal extern static void DrawBuffer(DrawBufferMode mode);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElements", ExactSpelling = true)]
internal extern static void DrawElements(OpenTK.Graphics.OpenGL.BeginMode mode, Int32 count, OpenTK.Graphics.OpenGL.DrawElementsType type, IntPtr indices);
internal extern static void DrawElements(BeginMode mode, Int32 count, DrawElementsType type, IntPtr indices);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnable", ExactSpelling = true)]
internal extern static void Enable(OpenTK.Graphics.OpenGL.EnableCap cap);
internal extern static void Enable(EnableCap cap);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnableVertexAttribArray", ExactSpelling = true)]
@ -164,25 +180,33 @@ namespace OpenTK.Graphics.OpenGL
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFlush", ExactSpelling = true)]
internal extern static void Flush();
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTexture2D", ExactSpelling = true)]
internal extern static void FramebufferTexture2D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFrontFace", ExactSpelling = true)]
internal extern static void FrontFace(OpenTK.Graphics.OpenGL.FrontFaceDirection mode);
internal extern static void FrontFace(FrontFaceDirection mode);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenBuffers", ExactSpelling = true)]
internal extern static unsafe void GenBuffers(Int32 n, [OutAttribute] UInt32* buffers);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenFramebuffers", ExactSpelling = true)]
internal extern static unsafe void GenFramebuffers(Int32 n, [OutAttribute] UInt32* framebuffers);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenTextures", ExactSpelling = true)]
internal extern static unsafe void GenTextures(Int32 n, [OutAttribute] UInt32* textures);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveAttrib", ExactSpelling = true)]
internal extern static unsafe void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* size, [OutAttribute] OpenTK.Graphics.OpenGL.ActiveAttribType* type, [OutAttribute] StringBuilder name);
internal extern static unsafe void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* size, [OutAttribute] ActiveAttribType* type, [OutAttribute] StringBuilder name);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveUniform", ExactSpelling = true)]
internal extern static unsafe void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* size, [OutAttribute] OpenTK.Graphics.OpenGL.ActiveUniformType* type, [OutAttribute] StringBuilder name);
internal extern static unsafe void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* size, [OutAttribute] ActiveUniformType* type, [OutAttribute] StringBuilder name);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetAttribLocation", ExactSpelling = true)]
@ -190,37 +214,37 @@ namespace OpenTK.Graphics.OpenGL
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBooleanv", ExactSpelling = true)]
internal extern static unsafe void GetBooleanv(OpenTK.Graphics.OpenGL.GetPName pname, [OutAttribute] bool* @params);
internal extern static unsafe void GetBooleanv(GetPName pname, [OutAttribute] bool* @params);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetError", ExactSpelling = true)]
internal extern static OpenTK.Graphics.OpenGL.ErrorCode GetError();
internal extern static ErrorCode GetError();
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFloatv", ExactSpelling = true)]
internal extern static unsafe void GetFloatv(OpenTK.Graphics.OpenGL.GetPName pname, [OutAttribute] Single* @params);
internal extern static unsafe void GetFloatv(GetPName pname, [OutAttribute] Single* @params);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetIntegerv", ExactSpelling = true)]
internal extern static unsafe void GetIntegerv(OpenTK.Graphics.OpenGL.GetPName pname, [OutAttribute] Int32* @params);
internal extern static unsafe void GetIntegerv(GetPName pname, [OutAttribute] Int32* @params);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramInfoLog", ExactSpelling = true)]
internal extern static unsafe void GetProgramInfoLog(UInt32 program, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] StringBuilder infoLog);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramiv", ExactSpelling = true)]
internal extern static unsafe void GetProgramiv(UInt32 program, OpenTK.Graphics.OpenGL.ProgramParameter pname, [OutAttribute] Int32* @params);
internal extern static unsafe void GetProgramiv(UInt32 program, ProgramParameter pname, [OutAttribute] Int32* @params);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetShaderInfoLog", ExactSpelling = true)]
internal extern static unsafe void GetShaderInfoLog(UInt32 shader, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] StringBuilder infoLog);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetShaderiv", ExactSpelling = true)]
internal extern static unsafe void GetShaderiv(UInt32 shader, OpenTK.Graphics.OpenGL.ShaderParameter pname, [OutAttribute] Int32* @params);
internal extern static unsafe void GetShaderiv(UInt32 shader, ShaderParameter pname, [OutAttribute] Int32* @params);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetString", ExactSpelling = true)]
internal extern static System.IntPtr GetString(OpenTK.Graphics.OpenGL.StringName name);
internal extern static System.IntPtr GetString(StringName name);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformLocation", ExactSpelling = true)]
@ -228,12 +252,16 @@ namespace OpenTK.Graphics.OpenGL
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glHint", ExactSpelling = true)]
internal extern static void Hint(OpenTK.Graphics.OpenGL.HintTarget target, OpenTK.Graphics.OpenGL.HintMode mode);
internal extern static void Hint(HintTarget target, HintMode mode);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsBuffer", ExactSpelling = true)]
internal extern static bool IsBuffer(UInt32 buffer);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsFramebuffer", ExactSpelling = true)]
internal extern static bool IsFramebuffer(UInt32 framebuffer);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsProgram", ExactSpelling = true)]
internal extern static bool IsProgram(UInt32 program);
@ -252,22 +280,26 @@ namespace OpenTK.Graphics.OpenGL
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLogicOp", ExactSpelling = true)]
internal extern static void LogicOp(OpenTK.Graphics.OpenGL.LogicOp opcode);
internal extern static void LogicOp(LogicOp opcode);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelStoref", ExactSpelling = true)]
internal extern static void PixelStoref(OpenTK.Graphics.OpenGL.PixelStoreParameter pname, Single param);
internal extern static void PixelStoref(PixelStoreParameter pname, Single param);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelStorei", ExactSpelling = true)]
internal extern static void PixelStorei(OpenTK.Graphics.OpenGL.PixelStoreParameter pname, Int32 param);
internal extern static void PixelStorei(PixelStoreParameter pname, Int32 param);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPolygonOffset", ExactSpelling = true)]
internal extern static void PolygonOffset(Single factor, Single units);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReadBuffer", ExactSpelling = true)]
internal extern static void ReadBuffer(ReadBufferMode mode);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReadPixels", ExactSpelling = true)]
internal extern static void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, [OutAttribute] IntPtr pixels);
internal extern static void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, PixelFormat format, PixelType type, [OutAttribute] IntPtr pixels);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glShaderSource", ExactSpelling = true)]
@ -275,19 +307,19 @@ namespace OpenTK.Graphics.OpenGL
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexImage2D", ExactSpelling = true)]
internal extern static void TexImage2D(OpenTK.Graphics.OpenGL.TextureTarget target, Int32 level, OpenTK.Graphics.OpenGL.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, IntPtr pixels);
internal extern static void TexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, IntPtr pixels);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameterf", ExactSpelling = true)]
internal extern static void TexParameterf(OpenTK.Graphics.OpenGL.TextureTarget target, OpenTK.Graphics.OpenGL.TextureParameterName pname, Single param);
internal extern static void TexParameterf(TextureTarget target, TextureParameterName pname, Single param);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameteri", ExactSpelling = true)]
internal extern static void TexParameteri(OpenTK.Graphics.OpenGL.TextureTarget target, OpenTK.Graphics.OpenGL.TextureParameterName pname, Int32 param);
internal extern static void TexParameteri(TextureTarget target, TextureParameterName pname, Int32 param);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexSubImage2D", ExactSpelling = true)]
internal extern static void TexSubImage2D(OpenTK.Graphics.OpenGL.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, IntPtr pixels);
internal extern static void TexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr pixels);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1f", ExactSpelling = true)]
@ -399,11 +431,11 @@ namespace OpenTK.Graphics.OpenGL
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribIPointer", ExactSpelling = true)]
internal extern static void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribIPointerType type, Int32 stride, IntPtr pointer);
internal extern static void VertexAttribIPointer(UInt32 index, Int32 size, VertexAttribIPointerType type, Int32 stride, IntPtr pointer);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribPointer", ExactSpelling = true)]
internal extern static void VertexAttribPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribPointerType type, bool normalized, Int32 stride, IntPtr pointer);
internal extern static void VertexAttribPointer(UInt32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, IntPtr pointer);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glViewport", ExactSpelling = true)]

View file

@ -39,7 +39,7 @@ namespace OpenTK.Graphics.OpenGL
internal static partial class Delegates
{
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void ActiveTexture(OpenTK.Graphics.OpenGL.TextureUnit texture);
internal delegate void ActiveTexture(TextureUnit texture);
internal static ActiveTexture glActiveTexture;
[System.Security.SuppressUnmanagedCodeSecurity()]
@ -47,27 +47,39 @@ namespace OpenTK.Graphics.OpenGL
internal static AttachShader glAttachShader;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void BindBuffer(OpenTK.Graphics.OpenGL.BufferTarget target, UInt32 buffer);
internal delegate void BindBuffer(BufferTarget target, UInt32 buffer);
internal static BindBuffer glBindBuffer;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void BindTexture(OpenTK.Graphics.OpenGL.TextureTarget target, UInt32 texture);
internal delegate void BindFramebuffer(FramebufferTarget target, UInt32 framebuffer);
internal static BindFramebuffer glBindFramebuffer;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void BindTexture(TextureTarget target, UInt32 texture);
internal static BindTexture glBindTexture;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void BlendFunc(OpenTK.Graphics.OpenGL.BlendingFactor sfactor, OpenTK.Graphics.OpenGL.BlendingFactor dfactor);
internal delegate void BlendFunc(BlendingFactor sfactor, BlendingFactor dfactor);
internal static BlendFunc glBlendFunc;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void BufferData(OpenTK.Graphics.OpenGL.BufferTarget target, IntPtr size, IntPtr data, OpenTK.Graphics.OpenGL.BufferUsageHint usage);
internal delegate void BlitFramebuffer(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, ClearBufferMask mask, BlitFramebufferFilter filter);
internal static BlitFramebuffer glBlitFramebuffer;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void BufferData(BufferTarget target, IntPtr size, IntPtr data, BufferUsageHint usage);
internal static BufferData glBufferData;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void BufferSubData(OpenTK.Graphics.OpenGL.BufferTarget target, IntPtr offset, IntPtr size, IntPtr data);
internal delegate void BufferSubData(BufferTarget target, IntPtr offset, IntPtr size, IntPtr data);
internal static BufferSubData glBufferSubData;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void Clear(OpenTK.Graphics.OpenGL.ClearBufferMask mask);
internal delegate FramebufferErrorCode CheckFramebufferStatus(FramebufferTarget target);
internal static CheckFramebufferStatus glCheckFramebufferStatus;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void Clear(ClearBufferMask mask);
internal static Clear glClear;
[System.Security.SuppressUnmanagedCodeSecurity()]
@ -78,10 +90,6 @@ namespace OpenTK.Graphics.OpenGL
internal delegate void ClearDepth(Double depth);
internal static ClearDepth glClearDepth;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void ClientActiveTexture(OpenTK.Graphics.OpenGL.TextureUnit texture);
internal static ClientActiveTexture glClientActiveTexture;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void ColorMask(bool red, bool green, bool blue, bool alpha);
internal static ColorMask glColorMask;
@ -95,17 +103,21 @@ namespace OpenTK.Graphics.OpenGL
internal static CreateProgram glCreateProgram;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate Int32 CreateShader(OpenTK.Graphics.OpenGL.ShaderType type);
internal delegate Int32 CreateShader(ShaderType type);
internal static CreateShader glCreateShader;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void CullFace(OpenTK.Graphics.OpenGL.CullFaceMode mode);
internal delegate void CullFace(CullFaceMode mode);
internal static CullFace glCullFace;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void DeleteBuffers(Int32 n, UInt32* buffers);
internal unsafe static DeleteBuffers glDeleteBuffers;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void DeleteFramebuffers(Int32 n, UInt32* framebuffers);
internal unsafe static DeleteFramebuffers glDeleteFramebuffers;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void DeleteProgram(UInt32 program);
internal static DeleteProgram glDeleteProgram;
@ -119,7 +131,7 @@ namespace OpenTK.Graphics.OpenGL
internal unsafe static DeleteTextures glDeleteTextures;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void DepthFunc(OpenTK.Graphics.OpenGL.DepthFunction func);
internal delegate void DepthFunc(DepthFunction func);
internal static DepthFunc glDepthFunc;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void DepthMask(bool flag);
@ -133,7 +145,7 @@ namespace OpenTK.Graphics.OpenGL
internal static DetachShader glDetachShader;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void Disable(OpenTK.Graphics.OpenGL.EnableCap cap);
internal delegate void Disable(EnableCap cap);
internal static Disable glDisable;
[System.Security.SuppressUnmanagedCodeSecurity()]
@ -141,15 +153,19 @@ namespace OpenTK.Graphics.OpenGL
internal static DisableVertexAttribArray glDisableVertexAttribArray;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void DrawArrays(OpenTK.Graphics.OpenGL.BeginMode mode, Int32 first, Int32 count);
internal delegate void DrawArrays(BeginMode mode, Int32 first, Int32 count);
internal static DrawArrays glDrawArrays;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void DrawElements(OpenTK.Graphics.OpenGL.BeginMode mode, Int32 count, OpenTK.Graphics.OpenGL.DrawElementsType type, IntPtr indices);
internal delegate void DrawBuffer(DrawBufferMode mode);
internal static DrawBuffer glDrawBuffer;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void DrawElements(BeginMode mode, Int32 count, DrawElementsType type, IntPtr indices);
internal static DrawElements glDrawElements;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void Enable(OpenTK.Graphics.OpenGL.EnableCap cap);
internal delegate void Enable(EnableCap cap);
internal static Enable glEnable;
[System.Security.SuppressUnmanagedCodeSecurity()]
@ -165,23 +181,27 @@ namespace OpenTK.Graphics.OpenGL
internal static Flush glFlush;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void FrontFace(OpenTK.Graphics.OpenGL.FrontFaceDirection mode);
internal delegate void FrontFace(FrontFaceDirection mode);
internal static FrontFace glFrontFace;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GenBuffers(Int32 n, [OutAttribute] UInt32* buffers);
internal unsafe static GenBuffers glGenBuffers;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GenFramebuffers(Int32 n, [OutAttribute] UInt32* framebuffers);
internal unsafe static GenFramebuffers glGenFramebuffers;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GenTextures(Int32 n, [OutAttribute] UInt32* textures);
internal unsafe static GenTextures glGenTextures;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* size, [OutAttribute] OpenTK.Graphics.OpenGL.ActiveAttribType* type, [OutAttribute] StringBuilder name);
internal unsafe delegate void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* size, [OutAttribute] ActiveAttribType* type, [OutAttribute] StringBuilder name);
internal unsafe static GetActiveAttrib glGetActiveAttrib;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* size, [OutAttribute] OpenTK.Graphics.OpenGL.ActiveUniformType* type, [OutAttribute] StringBuilder name);
internal unsafe delegate void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* size, [OutAttribute] ActiveUniformType* type, [OutAttribute] StringBuilder name);
internal unsafe static GetActiveUniform glGetActiveUniform;
[System.Security.SuppressUnmanagedCodeSecurity()]
@ -189,37 +209,41 @@ namespace OpenTK.Graphics.OpenGL
internal static GetAttribLocation glGetAttribLocation;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetBooleanv(OpenTK.Graphics.OpenGL.GetPName pname, [OutAttribute] bool* @params);
internal unsafe delegate void GetBooleanv(GetPName pname, [OutAttribute] bool* @params);
internal unsafe static GetBooleanv glGetBooleanv;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate OpenTK.Graphics.OpenGL.ErrorCode GetError();
internal delegate ErrorCode GetError();
internal static GetError glGetError;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetFloatv(OpenTK.Graphics.OpenGL.GetPName pname, [OutAttribute] Single* @params);
internal unsafe delegate void GetFloatv(GetPName pname, [OutAttribute] Single* @params);
internal unsafe static GetFloatv glGetFloatv;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetIntegerv(OpenTK.Graphics.OpenGL.GetPName pname, [OutAttribute] Int32* @params);
internal delegate void FramebufferTexture2D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level);
internal static FramebufferTexture2D glFramebufferTexture2D;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetIntegerv(GetPName pname, [OutAttribute] Int32* @params);
internal unsafe static GetIntegerv glGetIntegerv;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetProgramInfoLog(UInt32 program, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] StringBuilder infoLog);
internal unsafe static GetProgramInfoLog glGetProgramInfoLog;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetProgramiv(UInt32 program, OpenTK.Graphics.OpenGL.ProgramParameter pname, [OutAttribute] Int32* @params);
internal unsafe delegate void GetProgramiv(UInt32 program, ProgramParameter pname, [OutAttribute] Int32* @params);
internal unsafe static GetProgramiv glGetProgramiv;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetShaderInfoLog(UInt32 shader, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] StringBuilder infoLog);
internal unsafe static GetShaderInfoLog glGetShaderInfoLog;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetShaderiv(UInt32 shader, OpenTK.Graphics.OpenGL.ShaderParameter pname, [OutAttribute] Int32* @params);
internal unsafe delegate void GetShaderiv(UInt32 shader, ShaderParameter pname, [OutAttribute] Int32* @params);
internal unsafe static GetShaderiv glGetShaderiv;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate System.IntPtr GetString(OpenTK.Graphics.OpenGL.StringName name);
internal delegate System.IntPtr GetString(StringName name);
internal static GetString glGetString;
[System.Security.SuppressUnmanagedCodeSecurity()]
@ -227,13 +251,17 @@ namespace OpenTK.Graphics.OpenGL
internal static GetUniformLocation glGetUniformLocation;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void Hint(OpenTK.Graphics.OpenGL.HintTarget target, OpenTK.Graphics.OpenGL.HintMode mode);
internal delegate void Hint(HintTarget target, HintMode mode);
internal static Hint glHint;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate bool IsBuffer(UInt32 buffer);
internal static IsBuffer glIsBuffer;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate bool IsFramebuffer(UInt32 framebuffer);
internal static IsFramebuffer glIsFramebuffer;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate bool IsProgram(UInt32 program);
internal static IsProgram glIsProgram;
@ -255,10 +283,10 @@ namespace OpenTK.Graphics.OpenGL
internal static LogicOp glLogicOp;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void PixelStoref(OpenTK.Graphics.OpenGL.PixelStoreParameter pname, Single param);
internal delegate void PixelStoref(PixelStoreParameter pname, Single param);
internal static PixelStoref glPixelStoref;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void PixelStorei(OpenTK.Graphics.OpenGL.PixelStoreParameter pname, Int32 param);
internal delegate void PixelStorei(PixelStoreParameter pname, Int32 param);
internal static PixelStorei glPixelStorei;
[System.Security.SuppressUnmanagedCodeSecurity()]
@ -266,7 +294,11 @@ namespace OpenTK.Graphics.OpenGL
internal static PolygonOffset glPolygonOffset;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, [OutAttribute] IntPtr pixels);
internal delegate void ReadBuffer(ReadBufferMode mode);
internal static ReadBuffer glReadBuffer;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, PixelFormat format, PixelType type, [OutAttribute] IntPtr pixels);
internal static ReadPixels glReadPixels;
[System.Security.SuppressUnmanagedCodeSecurity()]
@ -274,19 +306,19 @@ namespace OpenTK.Graphics.OpenGL
internal unsafe static ShaderSource glShaderSource;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void TexImage2D(OpenTK.Graphics.OpenGL.TextureTarget target, Int32 level, OpenTK.Graphics.OpenGL.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, IntPtr pixels);
internal delegate void TexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, IntPtr pixels);
internal static TexImage2D glTexImage2D;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void TexParameterf(OpenTK.Graphics.OpenGL.TextureTarget target, OpenTK.Graphics.OpenGL.TextureParameterName pname, Single param);
internal delegate void TexParameterf(TextureTarget target, TextureParameterName pname, Single param);
internal static TexParameterf glTexParameterf;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void TexParameteri(OpenTK.Graphics.OpenGL.TextureTarget target, OpenTK.Graphics.OpenGL.TextureParameterName pname, Int32 param);
internal delegate void TexParameteri(TextureTarget target, TextureParameterName pname, Int32 param);
internal static TexParameteri glTexParameteri;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void TexSubImage2D(OpenTK.Graphics.OpenGL.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.OpenGL.PixelFormat format, OpenTK.Graphics.OpenGL.PixelType type, IntPtr pixels);
internal delegate void TexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr pixels);
internal static TexSubImage2D glTexSubImage2D;
[System.Security.SuppressUnmanagedCodeSecurity()]
@ -398,11 +430,11 @@ namespace OpenTK.Graphics.OpenGL
internal static ValidateProgram glValidateProgram;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribIPointerType type, Int32 stride, IntPtr pointer);
internal delegate void VertexAttribIPointer(UInt32 index, Int32 size, VertexAttribIPointerType type, Int32 stride, IntPtr pointer);
internal static VertexAttribIPointer glVertexAttribIPointer;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void VertexAttribPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribPointerType type, bool normalized, Int32 stride, IntPtr pointer);
internal delegate void VertexAttribPointer(UInt32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, IntPtr pointer);
internal static VertexAttribPointer glVertexAttribPointer;
[System.Security.SuppressUnmanagedCodeSecurity()]

View file

@ -159,40 +159,6 @@ namespace OpenTK.Graphics.OpenGL
TextureCoordArray = ((int)0x8078),
}
[Flags]
public enum AttribMask : int
{
CurrentBit = ((int)0x00000001),
PointBit = ((int)0x00000002),
LineBit = ((int)0x00000004),
PolygonBit = ((int)0x00000008),
PolygonStippleBit = ((int)0x00000010),
PixelModeBit = ((int)0x00000020),
LightingBit = ((int)0x00000040),
FogBit = ((int)0x00000080),
DepthBufferBit = ((int)0x00000100),
AccumBufferBit = ((int)0x00000200),
StencilBufferBit = ((int)0x00000400),
ViewportBit = ((int)0x00000800),
TransformBit = ((int)0x00001000),
EnableBit = ((int)0x00002000),
ColorBufferBit = ((int)0x00004000),
HintBit = ((int)0x00008000),
EvalBit = ((int)0x00010000),
ListBit = ((int)0x00020000),
TextureBit = ((int)0x00040000),
ScissorBit = ((int)0x00080000),
MultisampleBit = ((int)0x20000000),
AllAttribBits = unchecked((int)0xFFFFFFFF),
}
public enum BeginFeedbackMode : int
{
Points = ((int)0x0000),
Lines = ((int)0x0001),
Triangles = ((int)0x0004),
}
public enum BeginMode : int
{
Points = ((int)0x0000),
@ -232,6 +198,12 @@ namespace OpenTK.Graphics.OpenGL
One = ((int)1),
}
public enum BlitFramebufferFilter : int
{
Nearest = ((int)0x2600),
Linear = ((int)0x2601),
}
public enum Boolean : int
{
False = ((int)0),
@ -364,35 +336,6 @@ namespace OpenTK.Graphics.OpenGL
ColorAttachment15 = ((int)0x8CEF),
}
public enum DrawBuffersEnum : int
{
None = ((int)0),
FrontLeft = ((int)0x0400),
FrontRight = ((int)0x0401),
BackLeft = ((int)0x0402),
BackRight = ((int)0x0403),
Aux0 = ((int)0x0409),
Aux1 = ((int)0x040A),
Aux2 = ((int)0x040B),
Aux3 = ((int)0x040C),
ColorAttachment0 = ((int)0x8CE0),
ColorAttachment1 = ((int)0x8CE1),
ColorAttachment2 = ((int)0x8CE2),
ColorAttachment3 = ((int)0x8CE3),
ColorAttachment4 = ((int)0x8CE4),
ColorAttachment5 = ((int)0x8CE5),
ColorAttachment6 = ((int)0x8CE6),
ColorAttachment7 = ((int)0x8CE7),
ColorAttachment8 = ((int)0x8CE8),
ColorAttachment9 = ((int)0x8CE9),
ColorAttachment10 = ((int)0x8CEA),
ColorAttachment11 = ((int)0x8CEB),
ColorAttachment12 = ((int)0x8CEC),
ColorAttachment13 = ((int)0x8CED),
ColorAttachment14 = ((int)0x8CEE),
ColorAttachment15 = ((int)0x8CEF),
}
public enum DrawElementsType : int
{
UnsignedByte = ((int)0x1401),
@ -498,6 +441,58 @@ namespace OpenTK.Graphics.OpenGL
HalfFloat = ((int)0x140B),
}
public enum FramebufferAttachment : int
{
DepthStencilAttachment = ((int)0x821A),
ColorAttachment0 = ((int)0x8CE0),
ColorAttachment1 = ((int)0x8CE1),
ColorAttachment2 = ((int)0x8CE2),
ColorAttachment3 = ((int)0x8CE3),
ColorAttachment4 = ((int)0x8CE4),
ColorAttachment5 = ((int)0x8CE5),
ColorAttachment6 = ((int)0x8CE6),
ColorAttachment7 = ((int)0x8CE7),
ColorAttachment8 = ((int)0x8CE8),
ColorAttachment9 = ((int)0x8CE9),
ColorAttachment10 = ((int)0x8CEA),
ColorAttachment11 = ((int)0x8CEB),
ColorAttachment12 = ((int)0x8CEC),
ColorAttachment13 = ((int)0x8CED),
ColorAttachment14 = ((int)0x8CEE),
ColorAttachment15 = ((int)0x8CEF),
DepthAttachment = ((int)0x8D00),
StencilAttachment = ((int)0x8D20),
}
public enum FramebufferAttachmentObjectType : int
{
None = ((int)0),
Texture = ((int)0x1702),
FramebufferDefault = ((int)0x8218),
Renderbuffer = ((int)0x8D41),
}
public enum FramebufferErrorCode : int
{
FramebufferUndefined = ((int)0x8219),
FramebufferComplete = ((int)0x8CD5),
FramebufferIncompleteAttachment = ((int)0x8CD6),
FramebufferIncompleteMissingAttachment = ((int)0x8CD7),
FramebufferIncompleteDrawBuffer = ((int)0x8CDB),
FramebufferIncompleteReadBuffer = ((int)0x8CDC),
FramebufferUnsupported = ((int)0x8CDD),
FramebufferIncompleteMultisample = ((int)0x8D56),
FramebufferIncompleteLayerTargets = ((int)0x8DA8),
FramebufferIncompleteLayerCount = ((int)0x8DA9),
}
public enum FramebufferTarget : int
{
ReadFramebuffer = ((int)0x8CA8),
DrawFramebuffer = ((int)0x8CA9),
Framebuffer = ((int)0x8D40),
}
public enum FrontFaceDirection : int
{
Cw = ((int)0x0900),
@ -1163,12 +1158,6 @@ namespace OpenTK.Graphics.OpenGL
GeometryOutputType = ((int)0x8DDC),
}
public enum ProvokingVertexMode : int
{
FirstVertexConvention = ((int)0x8E4D),
LastVertexConvention = ((int)0x8E4E),
}
public enum QueryTarget : int
{
SamplesPassed = ((int)0x8914),
@ -1178,6 +1167,7 @@ namespace OpenTK.Graphics.OpenGL
public enum ReadBufferMode : int
{
None = ((int)0),
FrontLeft = ((int)0x0400),
FrontRight = ((int)0x0401),
BackLeft = ((int)0x0402),