spinning quad!

This commit is contained in:
Josh Holtrop 2012-11-09 22:03:03 -05:00
parent 3450798278
commit 65b4301c71
3 changed files with 10 additions and 4 deletions

View File

@ -1,11 +1,12 @@
uniform mat4 projection;
uniform mat4 modelview;
attribute vec3 pos;
attribute vec3 color;
varying vec3 color_i;
void main()
{
gl_Position = projection * vec4(pos * 0.75, 1);
gl_Position = projection * modelview * vec4(pos * 0.75, 1);
color_i = color;
}

View File

@ -13,7 +13,5 @@ public class MyGLSurfaceView extends GLSurfaceView
setEGLContextClientVersion(2);
setRenderer(new MyRenderer(am));
setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
}
}

View File

@ -15,6 +15,7 @@ import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
import android.opengl.Matrix;
import android.os.SystemClock;
public class MyRenderer implements GLSurfaceView.Renderer
{
@ -23,6 +24,7 @@ public class MyRenderer implements GLSurfaceView.Renderer
private FloatBuffer m_quad_attrib_buffer;
private AssetManager m_asset_manager;
private float m_proj_matrix[] = new float[16];
private float m_modelview[] = new float[16];
public MyRenderer(AssetManager am)
{
@ -115,7 +117,12 @@ public class MyRenderer implements GLSurfaceView.Renderer
{
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
checkGLError("glBindBuffer");
long time = SystemClock.uptimeMillis() % 4000L;
float angle = 0.090f * ((int) time);
Matrix.setRotateM(m_modelview, 0, angle, 0, 0, 1);
GLES20.glUniformMatrix4fv(
GLES20.glGetUniformLocation(m_program, "modelview"),
1, false, m_modelview, 0);
int attr_pos = GLES20.glGetAttribLocation(m_program, "pos");
int attr_color = GLES20.glGetAttribLocation(m_program, "color");
GLES20.glEnableVertexAttribArray(attr_pos);