- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- AutoCAD 2009中文版辅助机械制图第3章.ppt
- AutoCAD 2009中文版辅助机械制图第2章.ppt
- AutoCAD 2009中文版辅助机械制图第1章.ppt
- AutoCAD 2009建筑制图实例教程第13章 三维建模.ppt
- AutoCAD 2009建筑制图实例教程第12章 打印图形.ppt
- AutoCAD 2009建筑制图实例教程第11章 结构施工图.ppt
- AutoCAD 2009建筑制图实例教程第10章 建筑施工图.ppt
- AutoCAD 2009建筑制图实例教程第09章 轴测图.ppt
- AutoCAD 2009建筑制图实例教程第08章 查询信息、图块、外部参照及设计工具.ppt
- AutoCAD 2009建筑制图实例教程第07章 标注尺寸.ppt
- Android开发案例教程与项目实战第8章 网络编程蓝牙、WIFI.ppt
- Android开发案例教程与项目实战第8章 网络编程WebService.ppt
- Android开发案例教程与项目实战第8章 网络编程HttpURLConnection.ppt
- Android开发案例教程与项目实战第8章 网络编程HttpClient.ppt
- Android开发案例教程与项目实战第7章 数据解析XML和JSON解析.ppt
- Android开发案例教程与项目实战第6章 多媒体Animation.ppt
- Android开发案例教程与项目实战第4章 数据存储SQLite.ppt
- Android开发案例教程与项目实战第4章 数据存储SharedPreferences.ppt
文档评论(0)