速读原著-Android应用开发入门教程(使用OpenGL图形接口的程序结构)

第 10 章 OpenGL 3D图形的使用

10.1 使用OpenGL图形接口的程序结构。

在 Android 中,可以直接支持 3D 图形的绘制,主要使用 OpenGL 标准的类javax.microedition.khronos.egl,但是需要结合 Android GUI 系统使用。Android 中 OpenGL 接口使用的结构如图所示:
在这里插入图片描述
在使用 3D 的图形 API 方面,主要的步骤通常如下所示:
1.扩展实现 android.view.GLSurfaceView 类。
2.扩展实现 android.opengl.GLSurfaceView 中的 Renderer(渲染器)。
3.实现 GLSurfaceView::Renderer 中的 onDrawFrame()等函数。

android.opengl.GLSurfaceView 扩展了 android.view.SurfaceViewandroid. view.SurfaceView 扩展了
android.view.View,因此 GLSurfaceView 本身可以作为 android. view.View 来使用。GLSurfaceView::Renderer 是一个接口,其中主要定义了以下几个方法:

abstract void onDrawFrame(GL10 gl) // 绘制当前帧
abstract void onSurfaceChanged(GL10 gl, int width, int height) 
 // Surface 变化时调用
abstract void onSurfaceCreated(GL10 gl, EGLConfig config) 
 // Surface 创建时调用

各个方法的参数 GL10 是 javax.microedition.khronos.egl 包中的通用函数。GLSurface View::Renderer 中的onSurfaceChanged()onSurfaceCreated() 方法实际上是和 SurfaceView 中的两个方法对应的。实现的GLSurfaceView::Renderer,通过 GLSurfaceViewsetRenderer()方法将其设置到 GLSurfaceView 中。

在 ApiDemo 的示例程序中,android/apis/graphics/中的 GLSurfaceViewActivity、TouchRotateActivity、TriangleActivity 等程序和 spritetext/及/Kube/目录中的程序是 OpenGL 的示例程序。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值