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) public unsafe void glDeleteFramebuffers(int n, int[] framebuffers)
{ {
fixed (void* ptr = 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) public unsafe void glDeleteRenderbuffers(int n, int[] renderbuffers)
{ {
fixed (void* ptr = 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) public unsafe void glDeleteTextures(int n, int[] textures)
{ {
fixed (void* ptr = 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 public unsafe void glDrawElements<T>(int mode, int count, int type, T[] indices) where T : struct
{ {
fixed (void *ptr = indices) 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) public unsafe void glGenFramebuffers(int n, int[] framebuffers)
{ {
fixed (void *ptr = 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) public unsafe void glGenRenderbuffers(int n, int[] renderbuffers)
{ {
fixed (void *ptr = 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) public unsafe void glGenTextures(int n, int[] textures)
{ {
fixed (void *ptr = 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) public unsafe void glGetBooleanv(int pname, bool[] parameters)
{ {
fixed (void *ptr = 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) 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, 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) public unsafe void glGetAttachedShaders(int program, int maxCount, out int count, int[] shaders)
{ {
fixed (int* countPtr = &count, 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) public unsafe void glGetProgramiv(int program, int pname, int[] parameters)
{ {
fixed (void *ptr = 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) public unsafe void glGetRenderbufferParameteriv(int target, int pname, int[] parameters)
{ {
fixed (void *ptr = 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) public unsafe void glGetShaderPrecisionFormat(int shaderType, int precisionType, int[] range, out int precision)
{ {
fixed (void* rangePtr = range) 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) public unsafe void glGetShaderiv(int shader, int pname, int[] parameters)
{ {
fixed (void *ptr = 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) public unsafe void glGetTexParameterfv(int target, int pname, float[] parameters)
{ {
fixed (void *ptr = 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) public unsafe void glGetTexParameteriv(int target, int pname, int[] parameters)
{ {
fixed (void *ptr = 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) public unsafe void glGetUniformfv(int program, int location, float[] parameters)
{ {
fixed (void *ptr = 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 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) fixed (void *ptr = data)