lib/glesv2: intro renderbuffer services
authorAlexis Laferrière <alexis.laf@xymus.net>
Thu, 17 Sep 2015 01:09:39 +0000 (21:09 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Sun, 27 Sep 2015 14:56:31 +0000 (10:56 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

lib/glesv2/glesv2.nit

index aae4270..c78dc72 100644 (file)
@@ -621,6 +621,38 @@ class GLCap
        redef fun ==(o) do return o != null and is_same_type(o) and o.hash == self.hash
 end
 
+# Generate `n` renderbuffer object names
+fun glGenRenderbuffers(n: Int): Array[Int]
+do
+       var array = new CIntArray(n)
+       native_glGenRenderbuffers(n, array.native_array)
+       var a = array.to_a
+       array.destroy
+       return a
+end
+
+private fun native_glGenRenderbuffers(n: Int, renderbuffers: NativeCIntArray) `{
+       glGenRenderbuffers(n, (GLuint *)renderbuffers);
+`}
+
+# Determine if `name` corresponds to a renderbuffer object
+fun glIsRenderbuffer(name: Int): Bool `{
+       return glIsRenderbuffer(name);
+`}
+
+# Delete named renderbuffer objects
+fun glDeleteRenderbuffers(renderbuffers: SequenceRead[Int])
+do
+       var n = renderbuffers.length
+       var array = new CIntArray.from(renderbuffers)
+       native_glDeleteRenderbuffers(n, array.native_array)
+       array.destroy
+end
+
+private fun native_glDeleteRenderbuffers(n: Int, renderbuffers: NativeCIntArray) `{
+       return glDeleteRenderbuffers(n, (const GLuint *)renderbuffers);
+`}
+
 # Attach a renderbuffer object to a framebuffer object
 fun glFramebufferRenderbuffer(target: GLFramebufferTarget, attachment: GLAttachment,
                               renderbuffertarget: GLRenderbufferTarget, renderbuffer: Int) `{