Subversion Repositories AndroidProjects

Rev

Rev 32 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.gebauz.pingK;

import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;

import com.gebauz.framework.util.GLUtil;
import com.gebauz.framework.util.ResourceManager;

import android.opengl.GLSurfaceView;

public class GameRenderer implements GLSurfaceView.Renderer
{
       
        private GameActivity mActivity = null;
       
        private long mSystemTimeMs = 0;
       
        public GameRenderer(GameActivity activity)
        {
                mActivity = activity;
                mSystemTimeMs = System.currentTimeMillis();
        }
       
    public void onSurfaceCreated(GL10 gl, EGLConfig config)
    {
        GLUtil.setGL(gl);
    }

    public void onSurfaceChanged(GL10 gl, int w, int h)
    {
        GLUtil.setGL(gl);
       
        // recreate resources
        ResourceManager.getInstance().recreateResources();
       
        mActivity.onSurfaceChanged(w, h);
    }

    public void onDrawFrame(GL10 gl)
    {
       
        // UPDATE
                long currentTimeMs = System.currentTimeMillis();
                long deltaTimeMs = currentTimeMs - mSystemTimeMs;
               
                mActivity.update((float)deltaTimeMs / 1000.0f);
               
                mSystemTimeMs = currentTimeMs;
       
        // RENDER
        mActivity.render();
    }
   
}