From d1b87e3ec61df3971b42218ffa46c39c36d26499 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Tue, 6 Nov 2012 22:03:35 -0500 Subject: [PATCH] drawing quad, but using pos as color --- .../holtrop/opengltest/MyRenderer.java | 20 ++++++------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/src/com/homelinux/holtrop/opengltest/MyRenderer.java b/src/com/homelinux/holtrop/opengltest/MyRenderer.java index 2d3e495..0654554 100644 --- a/src/com/homelinux/holtrop/opengltest/MyRenderer.java +++ b/src/com/homelinux/holtrop/opengltest/MyRenderer.java @@ -12,9 +12,9 @@ import android.util.Log; public class MyRenderer implements GLSurfaceView.Renderer { - private int m_quad_attrib_buffer; private int m_program; private final String DBGTAG = "JoshsOpenGL"; + private FloatBuffer m_quad_attrib_buffer; public void checkGLError(String glOperation) { @@ -54,16 +54,9 @@ public class MyRenderer implements GLSurfaceView.Renderer checkGLError("onSurfaceCreated"); ByteBuffer bb = ByteBuffer.allocateDirect(attribs.length * 4); bb.order(ByteOrder.nativeOrder()); - FloatBuffer fb = bb.asFloatBuffer(); - fb.put(attribs); - fb.position(0); - int[] buffers = {0}; - GLES20.glGenBuffers(1, buffers, 0); - checkGLError("glGenBuffers"); - m_quad_attrib_buffer = buffers[0]; - GLES20.glBindBuffer(GLES20.GL_ARRAY_BUFFER, m_quad_attrib_buffer); - GLES20.glBufferData(GLES20.GL_ARRAY_BUFFER, 0, fb, - GLES20.GL_STATIC_DRAW); + m_quad_attrib_buffer = bb.asFloatBuffer(); + m_quad_attrib_buffer.put(attribs); + m_quad_attrib_buffer.position(0); final String v_shader_src = "attribute vec3 pos;" + @@ -101,7 +94,6 @@ public class MyRenderer implements GLSurfaceView.Renderer GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); GLES20.glUseProgram(m_program); - GLES20.glBindBuffer(GLES20.GL_ARRAY_BUFFER, m_quad_attrib_buffer); checkGLError("glBindBuffer"); int attr_pos = GLES20.glGetAttribLocation(m_program, "pos"); int attr_color = GLES20.glGetAttribLocation(m_program, "color"); @@ -109,9 +101,9 @@ public class MyRenderer implements GLSurfaceView.Renderer GLES20.glEnableVertexAttribArray(attr_color); checkGLError("glEnableVertexAttribArray"); GLES20.glVertexAttribPointer(attr_pos, 3, GLES20.GL_FLOAT, false, - 6 * 4, 0); + 6 * 4, m_quad_attrib_buffer); GLES20.glVertexAttribPointer(attr_color, 3, GLES20.GL_FLOAT, false, - 6 * 4, 3 * 4); + 6 * 4, m_quad_attrib_buffer); checkGLError("glVertexAttribPointer"); GLES20.glDrawArrays(GLES20.GL_TRIANGLE_FAN, 0, 4); checkGLError("glDrawArrays");