split up some gl method overloads which stray from the spec a bit too much

"stray from the spec" meaning changing parameters, adding return values,
and/or doing other little things to help the caller out before calling
the actual gl function
This commit is contained in:
Gered 2013-08-12 17:43:41 -04:00
parent 97e575d7df
commit d2b3d75ec8
2 changed files with 137 additions and 127 deletions

View file

@ -0,0 +1,137 @@
using System;
using System.Text;
namespace PortableGL
{
public abstract partial class GL20
{
public void glDeleteBuffers(int buffer)
{
glDeleteBuffers(1, ref buffer);
}
public void glDeleteFramebuffers(int framebuffer)
{
glDeleteFramebuffers(1, ref framebuffer);
}
public void glDeleteRenderbuffers(int renderbuffer)
{
glDeleteRenderbuffers(1, ref renderbuffer);
}
public void glDeleteTextures(int texture)
{
glDeleteTextures(1, ref texture);
}
public int glGenBuffers()
{
int buffer = 0;
glGenBuffers(1, ref buffer);
return buffer;
}
public int glGenFramebuffers()
{
int framebuffer = 0;
glGenFramebuffers(1, ref framebuffer);
return framebuffer;
}
public int glGenRenderbuffers()
{
int renderbuffer = 0;
glGenRenderbuffers(1, ref renderbuffer);
return renderbuffer;
}
public int glGenTextures()
{
int texture = 0;
glGenTextures(1, ref texture);
return texture;
}
public string glGetActiveAttrib(int program, int index, out int size, out int type)
{
int length = glGetProgramiv(program, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH);
StringBuilder sb = new StringBuilder(length == 0 ? 1 : length);
glGetActiveAttrib(program, index, sb.Capacity, out length, out size, out type, sb);
return sb.ToString();
}
public string glGetActiveUniform(int program, int index, out int size, out int type)
{
int length = glGetProgramiv(program, GL_ACTIVE_UNIFORM_MAX_LENGTH);
StringBuilder sb = new StringBuilder(length == 0 ? 1 : length);
glGetActiveUniform(program, index, sb.Capacity, out length, out size, out type, sb);
return sb.ToString();
}
public string glGetProgramInfoLog(int program)
{
int length = glGetProgramiv(program, GL_INFO_LOG_LENGTH);
if (length == 0)
return String.Empty;
StringBuilder sb = new StringBuilder(length);
glGetProgramInfoLog(program, sb.Capacity, out length, sb);
return sb.ToString();
}
public int glGetProgramiv(int shader, int pname)
{
int parameter = 0;
glGetProgramiv(shader, pname, ref parameter);
return parameter;
}
public string glGetShaderInfoLog(int shader)
{
int length = glGetShaderiv(shader, GL_INFO_LOG_LENGTH);
if (length == 0)
return String.Empty;
StringBuilder sb = new StringBuilder(length);
glGetShaderInfoLog(shader, sb.Capacity, out length, sb);
return sb.ToString();
}
public string glGetShaderSource(int shader)
{
int length = glGetShaderiv(shader, GL_SHADER_SOURCE_LENGTH);
if (length == 0)
return String.Empty;
StringBuilder sb = new StringBuilder(length);
glGetShaderSource(shader, sb.Capacity, out length, sb);
return sb.ToString();
}
public int glGetShaderiv(int shader, int pname)
{
int parameter = 0;
glGetShaderiv(shader, pname, ref parameter);
return parameter;
}
public float glGetTexParameterfv(int target, int pname)
{
float parameter = 0.0f;
glGetTexParameterfv(target, pname, ref parameter);
return parameter;
}
public int glGetTexParameteriv(int target, int pname)
{
int parameter = 0;
glGetTexParameteriv(target, pname, ref parameter);
return parameter;
}
public void glShaderSource(int shader, string str)
{
glShaderSource(shader, 1, new string[] { str }, new int[] { str.Length });
}
}
}

View file

@ -53,11 +53,6 @@ namespace PortableGL
}
}
public void glDeleteBuffers(int buffer)
{
glDeleteBuffers(1, ref buffer);
}
public unsafe void glDeleteFramebuffers(int n, int[] framebuffers)
{
fixed (void* ptr = framebuffers)
@ -74,11 +69,6 @@ namespace PortableGL
}
}
public void glDeleteFramebuffers(int framebuffer)
{
glDeleteFramebuffers(1, ref framebuffer);
}
public unsafe void glDeleteRenderbuffers(int n, int[] renderbuffers)
{
fixed (void* ptr = renderbuffers)
@ -95,11 +85,6 @@ namespace PortableGL
}
}
public void glDeleteRenderbuffers(int renderbuffer)
{
glDeleteRenderbuffers(1, ref renderbuffer);
}
public unsafe void glDeleteTextures(int n, int[] textures)
{
fixed (void* ptr = textures)
@ -116,11 +101,6 @@ namespace PortableGL
}
}
public void glDeleteTextures(int texture)
{
glDeleteTextures(1, ref texture);
}
public unsafe void glDrawElements<T>(int mode, int count, int type, T[] indices) where T : struct
{
fixed (void *ptr = indices)
@ -145,13 +125,6 @@ namespace PortableGL
}
}
public int glGenBuffers()
{
int buffer = 0;
glGenBuffers(1, ref buffer);
return buffer;
}
public unsafe void glGenFramebuffers(int n, int[] framebuffers)
{
fixed (void *ptr = framebuffers)
@ -168,13 +141,6 @@ namespace PortableGL
}
}
public int glGenFramebuffers()
{
int framebuffer = 0;
glGenFramebuffers(1, ref framebuffer);
return framebuffer;
}
public unsafe void glGenRenderbuffers(int n, int[] renderbuffers)
{
fixed (void *ptr = renderbuffers)
@ -191,13 +157,6 @@ namespace PortableGL
}
}
public int glGenRenderbuffers()
{
int renderbuffer = 0;
glGenRenderbuffers(1, ref renderbuffer);
return renderbuffer;
}
public unsafe void glGenTextures(int n, int[] textures)
{
fixed (void *ptr = textures)
@ -214,13 +173,6 @@ namespace PortableGL
}
}
public int glGenTextures()
{
int texture = 0;
glGenTextures(1, ref texture);
return texture;
}
public unsafe void glGetBooleanv(int pname, bool[] parameters)
{
fixed (void *ptr = parameters)
@ -266,14 +218,6 @@ namespace PortableGL
}
}
public string glGetActiveAttrib(int program, int index, out int size, out int type)
{
int length = glGetProgramiv(program, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH);
StringBuilder sb = new StringBuilder(length == 0 ? 1 : length);
glGetActiveAttrib(program, index, sb.Capacity, out length, out size, out type, sb);
return sb.ToString();
}
public unsafe void glGetActiveUniform(int program, int index, int bufSize, out int length, out int size, out int type, StringBuilder name)
{
fixed (int* lengthPtr = &length,
@ -287,14 +231,6 @@ namespace PortableGL
}
}
public string glGetActiveUniform(int program, int index, out int size, out int type)
{
int length = glGetProgramiv(program, GL_ACTIVE_UNIFORM_MAX_LENGTH);
StringBuilder sb = new StringBuilder(length == 0 ? 1 : length);
glGetActiveUniform(program, index, sb.Capacity, out length, out size, out type, sb);
return sb.ToString();
}
public unsafe void glGetAttachedShaders(int program, int maxCount, out int count, int[] shaders)
{
fixed (int* countPtr = &count,
@ -330,16 +266,6 @@ namespace PortableGL
}
}
public string glGetProgramInfoLog(int program)
{
int length = glGetProgramiv(program, GL_INFO_LOG_LENGTH);
if (length == 0)
return String.Empty;
StringBuilder sb = new StringBuilder(length);
glGetProgramInfoLog(program, sb.Capacity, out length, sb);
return sb.ToString();
}
public unsafe void glGetProgramiv(int program, int pname, int[] parameters)
{
fixed (void *ptr = parameters)
@ -356,13 +282,6 @@ namespace PortableGL
}
}
public int glGetProgramiv(int shader, int pname)
{
int parameter = 0;
glGetProgramiv(shader, pname, ref parameter);
return parameter;
}
public unsafe void glGetRenderbufferParameteriv(int target, int pname, int[] parameters)
{
fixed (void *ptr = parameters)
@ -380,16 +299,6 @@ namespace PortableGL
}
}
public string glGetShaderInfoLog(int shader)
{
int length = glGetShaderiv(shader, GL_INFO_LOG_LENGTH);
if (length == 0)
return String.Empty;
StringBuilder sb = new StringBuilder(length);
glGetShaderInfoLog(shader, sb.Capacity, out length, sb);
return sb.ToString();
}
public unsafe void glGetShaderPrecisionFormat(int shaderType, int precisionType, int[] range, out int precision)
{
fixed (void* rangePtr = range)
@ -409,16 +318,6 @@ namespace PortableGL
}
}
public string glGetShaderSource(int shader)
{
int length = glGetShaderiv(shader, GL_SHADER_SOURCE_LENGTH);
if (length == 0)
return String.Empty;
StringBuilder sb = new StringBuilder(length);
glGetShaderSource(shader, sb.Capacity, out length, sb);
return sb.ToString();
}
public unsafe void glGetShaderiv(int shader, int pname, int[] parameters)
{
fixed (void *ptr = parameters)
@ -435,13 +334,6 @@ namespace PortableGL
}
}
public int glGetShaderiv(int shader, int pname)
{
int parameter = 0;
glGetShaderiv(shader, pname, ref parameter);
return parameter;
}
public unsafe void glGetTexParameterfv(int target, int pname, float[] parameters)
{
fixed (void *ptr = parameters)
@ -458,13 +350,6 @@ namespace PortableGL
}
}
public float glGetTexParameterfv(int target, int pname)
{
float parameter = 0.0f;
glGetTexParameterfv(target, pname, ref parameter);
return parameter;
}
public unsafe void glGetTexParameteriv(int target, int pname, int[] parameters)
{
fixed (void *ptr = parameters)
@ -481,13 +366,6 @@ namespace PortableGL
}
}
public int glGetTexParameteriv(int target, int pname)
{
int parameter = 0;
glGetTexParameteriv(target, pname, ref parameter);
return parameter;
}
public unsafe void glGetUniformfv(int program, int location, float[] parameters)
{
fixed (void *ptr = parameters)
@ -577,11 +455,6 @@ namespace PortableGL
}
}
public void glShaderSource(int shader, string str)
{
glShaderSource(shader, 1, new string[] { str }, new int[] { str.Length });
}
public unsafe void glTexImage2D<T>(int target, int level, int internalformat, int width, int height, int border, int format, int type, T[] data) where T : struct
{
fixed (void *ptr = data)