Android开发案例教程与项目实战第9章 图形绘制OpenGL.pptVIP

Android开发案例教程与项目实战第9章 图形绘制OpenGL.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OpenGL 学习目的 1、熟悉openGL技术简介和应用 2、熟悉openGL常用的类、接口、方法 3、熟悉openGL创建3维空间 什么是 OpenGL OpenGL 是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库。OpenGL 的前身是 SGI 公司为其图形工作站开的 IRIS GL。IRIS GL 是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是 SGI 公司便在 IRIS GL 的基础上开发 OpenGL。 OpenGL简介 Android 3D 引擎采用的是OpenGL ES。OpenGL ES是一套为手持和嵌入式系统设计的3D引擎API,由Khronos公司维护。在PC领域,一直有两种标准的3D API进行竞争,OpenGL 和 DirectX。一般主流的游戏和显卡都支持这两种渲染方式,DirectX在Windows平台上有很大的优势,但是 OpenGL 具有更好的跨平台性。 由于嵌入式系统和PC相比,一般说来,CPU、内存等都比PC差很多,而且对能耗有着特殊的要求,许多嵌入式设备并没有浮点运算协处理器,针对嵌入式系统的以上特点,Khronos对标准的 OpenGL 系统进行了维护和改动,以期望满足嵌入式设备对3D绘图的要求。 Android系统使用 OpenGL 的标准接口来支持3D图形功能,android 3D 图形系统也分为 java 框架和本地代码两部分。本地代码主要实现的 OpenGL 接口的库,在 Java 框架层,javax.microedition.khronos.opengles 是 java 标准的 OpenGL 包,android.opengl包提供了 OpenGL 系统和 Android GUI 系统之间的联系。 OpenGL API 通过OpenGL API,Android包含对高性能3D图形的支持 — 具体而言,是指OpenGL ES API 。OpenGL ES 是根据OpenGL规范进行裁剪后定制而形成的一套标准,针对嵌入式设备而设计。各版本的OpenGL ES都广泛地向主要的OpenGL标准看齐。目前,Android支持OpenGL ES1.0,即相当于OpenGL 1.3。换言之,假设你的应用程序能够在桌面系统上结合OpenGL 1.3运行,那么它亦将能够运行在Android上。 Using the API   这里给出一个比较抽象的使用API的步骤:   1.编写一个自定义的 View 子类。   2.取得一个OpenGLContext句柄,以便使用 OpenGL 提供的那些功能。   3.在View 类的 onDraw() 方法里,取得一个指向GL对象的句柄,并调用它所提供的一些方法来执 行GL操作。 SurfaceView接口 一个SurfaceView的实现,用专门surface供显示OpenGL的描绘,它提供例如下面一个特性: 1.管理一个surface,它是一个特殊的内存能被混合到Android的view System。 2.管理EGL显示,能让OpenGL描绘到一个surface中。 3.接收用户提供的描绘器对象,来做实际的描绘。 4.在一个专门的线程上进行描绘工作,从UI线程上减少翻译的表现。 5.支持询问式和连续的描绘。 6.任选,wraps,trace或者error-check 描绘器的的OpenGL调用。 GLSurfaceView类 通常通过继承使用GLSurfaceView,并重载一个或多个View System input event方法。如果你的应用不需要重载事件方法,那么GLSurfaceView能被用作as-is关系。对于大部分的GLSurfaceView的行为是通过set方法进行客制化的,而不是通过继承。例如:不像一个正常的View,drawing被托付给一个分离的绘画器对象,这个对象是通过调用setRenderer方法注册的,然后,如果你需要,你可以在调用setRenderer之前,通过下面中的一个或者多个方法修改GLSurfaceView的默认行为:   1、setDebugFlags(int)   2、setEGLConfigChooser(boolean)   3、setEGLConfigChooser(EGLConfigChooser)   4、setEGLConfigChooser(int, int, int, int, int, int)   5、setGLWrapper(GLWrapper)    GLSurfaceView类 一个Anroid设备可能支持多种类型的Su

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档