Android中OpenGL ES 3D编程基础(一)

OpenGL ES就不用我多介绍了,它是针对嵌入式设备3D显示的基础,那么在Android如何应用它进行3D图形的绘制呢,那就需要用到这个强大的接口:

Renderer接口:(android.opengl.GLSurfaceView.Renderer)这是一种通用的呈现器接口。负责OpenGL调用提供一个框架。用的时候通常创建自己实现此的接口的类来进行3D图形的绘制,然后调用setRenderer方法渲染3D图形。这个接口就是3D绘制的框架,3D图形的绘制就全靠它。

下边是这个类的详解:

public class GlRender implements Renderer{

@Override
public void onDrawFrame(GL10 gl) {//这个方法很强大,整个3D图形的输出都靠它了,它在后台启动了一个线程不断的绘制图形
// TODO Auto-generated method stub//从而使得3D图形得以显现
Log.v("======", "onDrawFrame");
}

@Override
public void onSurfaceChanged(GL10 gl, int width, int height) { //此方法在surface创建或surface大小改变时调用
// TODO Auto-generated method stub //通常,您在这里将设置视区,如果你的camera固定则可以还设投影矩阵在这里

Log.v("======", "onSurfaceChanged");

}

@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) { //此方法在surface创建时候调用,用于初始化GL10
// TODO Auto-generated method stub
Log.v("======", "onSurfaceCreated");
}
}


GLSurfaceView:是其中很重要的一个类,此类位于android.opengl包下,用于管理是一块可以是复合视图机器人系统的内存的特殊的曲面。管理一个使表面呈现OpenGL的EGL显示。接受一个用户提供输入Render对象进行显示。从 UI 线程实现一个专用线程渲染界面实现3D性能。支持按需要和连续的呈现。 包装、 跟踪,和检查OpenGL渲染器调用的错误

下边是主程序调用Renderer在屏幕上显示了:

Renderer render = new GlRender();

GLSurfaceView glView = new GLSurfaceView(this);
glView.setRenderer(render);
setContentView(glView);


调用3D的库很简单,但是实现3D效果就难了,需要对矩阵光学等有所了解才行,还需要研究啊。。。。。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值