我就是个悲剧的娃,想做个android的3d游戏,所以就把之前没看过的opengl拿过来看,一看不得了,这不,调试一个三角形和正方形就弄了这一晚上,严重影响了本人的睡眠,可能还会老几岁。。。。
解决了Must use a native order direct Buffer ,及颜色绘不上去 的问题。废话不说了,把今天的实例贴上来,本实例分FirstGL 类与MyRenderer类。
鉴于我也正忙着学其它的(比如jpct-ae),所以,也只能慢慢的把详细注释加上去,今晚先附上此篇的注释,后续的,我当然也会一点一点加上去的,但时不是那么快:-)
Activity类:
package sim.feel;
import android.app.Activity;
import android.opengl.GLSurfaceView;
import android.os.Bundle;
/**
* Activity类
*
* @author Sim
*
*/
public class FirstGL extends Activity {
// GLSurfaceView是一个视图,继承至SurfaceView,它内嵌的surface专门负责OpenGL渲染。
// 更多GLSurfaceView信息见
// http://120.132.134.205/cmdn/supesite/?uid-5358-action-viewspace-itemid-6527
private GLSurfaceView glSurfaceView;
// 这是渲染器(Render)的公共接口,它的任务就是调用OpenGL的API来作帧的渲染。
// 更多MyRenderer信息见
// http://dev.10086.cn/cmdn/supesite/?uid-5358-action-viewspace-itemid-6528
private MyRenderer renderer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 实例化MyRenderer,GLSurfaceView类
renderer = new MyRenderer();
glSurfaceView = new GLSurfaceView(this);
// 设置渲染器
glSurfaceView.setRenderer(renderer);
// 为当前Activity类指定视图
setContentView(glSurfaceView);
}
}
MyRenderer类:
package sim.feel;
import java.nio.By