From d2b3d75ec840749170a94d23e582b3347ba05a7a Mon Sep 17 00:00:00 2001 From: gered Date: Mon, 12 Aug 2013 17:43:41 -0400 Subject: [PATCH] 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 --- PortableGL/GL20ConvenienceHelpers.cs | 137 +++++++++++++++++++++++++++ PortableGL/GL20Helpers.cs | 127 ------------------------- 2 files changed, 137 insertions(+), 127 deletions(-) create mode 100644 PortableGL/GL20ConvenienceHelpers.cs diff --git a/PortableGL/GL20ConvenienceHelpers.cs b/PortableGL/GL20ConvenienceHelpers.cs new file mode 100644 index 0000000..88c2707 --- /dev/null +++ b/PortableGL/GL20ConvenienceHelpers.cs @@ -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 }); + } + + } +} + diff --git a/PortableGL/GL20Helpers.cs b/PortableGL/GL20Helpers.cs index 1b3d119..ddd1795 100644 --- a/PortableGL/GL20Helpers.cs +++ b/PortableGL/GL20Helpers.cs @@ -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(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(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)