From 2ddae706eb438fe9658d6e36630a6bca62de0610 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Sat, 1 Dec 2012 08:10:13 -0500 Subject: [PATCH] revert to regular shader --- assets/shaders/fragment.glsl | 4 ++-- assets/shaders/vertex.glsl | 8 ++++---- .../holtrop/opengltest/MyRenderer.java | 19 ++++++++++++------- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/assets/shaders/fragment.glsl b/assets/shaders/fragment.glsl index 3e3c750..35ee8d4 100644 --- a/assets/shaders/fragment.glsl +++ b/assets/shaders/fragment.glsl @@ -1,7 +1,7 @@ -varying vec2 pos_2d_i; +varying vec3 color_i; void main() { - gl_FragColor = vec4(0, 0.3, 1, 1); + gl_FragColor = vec4(color_i, 1); } diff --git a/assets/shaders/vertex.glsl b/assets/shaders/vertex.glsl index e8c5098..0ef7337 100644 --- a/assets/shaders/vertex.glsl +++ b/assets/shaders/vertex.glsl @@ -4,12 +4,12 @@ uniform mat4 modelview; uniform vec2 offset; attribute vec2 pos; +attribute vec3 color; -varying vec2 pos_2d_i; +varying vec3 color_i; void main() { - gl_Position = projection * - (modelview * vec4(pos, 0, 1) + vec4(offset, 0, 0)); - pos_2d_i = pos + offset; + gl_Position = projection * modelview * vec4(pos, 0, 1); + color_i = color; } diff --git a/src/com/homelinux/holtrop/opengltest/MyRenderer.java b/src/com/homelinux/holtrop/opengltest/MyRenderer.java index 3dafeb5..79d9863 100644 --- a/src/com/homelinux/holtrop/opengltest/MyRenderer.java +++ b/src/com/homelinux/holtrop/opengltest/MyRenderer.java @@ -93,10 +93,10 @@ public class MyRenderer implements GLSurfaceView.Renderer public void onSurfaceCreated(GL10 unused, EGLConfig config) { final float attribs[] = { - 1, 1, - 0, 1, - 0, 0, - 1, 0 + 1, 1, 0.8f, 0.8f, 1, + 0, 1, 0, 0, 1, + 0, 0, 0.8f, 0.8f, 1, + 1, 0, 0, 0, 1 }; checkGLError("onSurfaceCreated"); ByteBuffer bb = ByteBuffer.allocateDirect(attribs.length * 4); @@ -150,13 +150,19 @@ public class MyRenderer implements GLSurfaceView.Renderer GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); int attr_pos = GLES20.glGetAttribLocation(m_program, "pos"); + int attr_color = GLES20.glGetAttribLocation(m_program, "color"); checkGLError("glGetAttribLocation"); GLES20.glEnableVertexAttribArray(attr_pos); + GLES20.glEnableVertexAttribArray(attr_color); checkGLError("glEnableVertexAttribArray"); + m_quad_attrib_buffer.position(0); GLES20.glVertexAttribPointer(attr_pos, 2, GLES20.GL_FLOAT, false, - 2 * 4, m_quad_attrib_buffer); + 5 * 4, m_quad_attrib_buffer); + m_quad_attrib_buffer.position(2); + GLES20.glVertexAttribPointer(attr_color, 3, GLES20.GL_FLOAT, false, + 5 * 4, m_quad_attrib_buffer); checkGLError("glVertexAttribPointer"); for (int y = 0; y < GRID_HEIGHT; y++) @@ -166,18 +172,17 @@ public class MyRenderer implements GLSurfaceView.Renderer Matrix.setIdentityM(m_modelview, 0); Matrix.translateM(m_modelview, 0, x - GRID_WIDTH / 2.0f, y - GRID_HEIGHT / 2.0f, 0); - Matrix.scaleM(m_modelview, 0, 0.9f, 0.9f, 0.9f); GLES20.glUniformMatrix4fv( GLES20.glGetUniformLocation(m_program, "modelview"), 1, false, m_modelview, 0); - m_quad_attrib_buffer.position(0); GLES20.glDrawArrays(GLES20.GL_TRIANGLE_FAN, 0, 4); checkGLError("glDrawArrays"); } } GLES20.glDisableVertexAttribArray(attr_pos); + GLES20.glDisableVertexAttribArray(attr_color); checkGLError("glDisableVertexAttribArray"); }