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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值