android_3D游戏开发终极版

更新时间:2023-07-28 00:10:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

android_3D游戏开发终极版

Android OpenGL ES开发 讲解主讲人

华章培训网、[]华章培训网版权所有

android_3D游戏开发终极版

课程目标 Android书籍 Android应用开发书籍推荐 技术支持(交流平台) 课程计划 课程概述

功能演示 课程需求分析

华章培训

第2页

android_3D游戏开发终极版

Android书籍推荐《Android应用开发揭秘》

国内首本基于Andriod2.0的经典著作 5大专业社区一致鼎力推荐! 入围51CTO2009年度——

最受读者喜爱的原创IT技术图书奖。

华章培训

第3页

android_3D游戏开发终极版

交流平台华章培训网 / 博客 /

华章培训

第4页

android_3D游戏开发终极版

课程计划Android OpenGL ES开发基础

2:Opengl ES概述 3:基本图形绘制4:3D图形绘制及透视 5:光效 6:材质 7:纹理及纹理映射 8:隧道实例 9:雾气 10:2D文字显示 11:飘动的旗帜 12:蒙板华章培训

13:离子系统 14:变形16:曲面映射 17:多重纹理 18:反射-蒙板缓存 19:图像字体 20:反走样 21:缓存及片元测试 22:贝塞尔曲面 23:BLT函数

24:TGA文件 25:多重视口27:射线拾取 28:地形 29:天空盒 30:帧动画 31:骨骼动画 32:碰撞检测 引擎实现(通过NDK来开 发原生OpenGL ES程序)

15:多级纹理-二次几何体 26:轨迹球

第5页

android_3D游戏开发终极版

课程准备构建Android SDK应用程序开发环境 Eclipse(3.4及其以上版本) Android SDK(1.5以上) ADT(0.9以上)

华章培训

第6页

android_3D游戏开发终极版

OpenGL ES概述

主讲人:杨丰盛

华章培训网、[]华章培训网版权所有

android_3D游戏开发终极版

课程目标OpenGL ES概述 OpenGL与OpenGL ES概述

OpenGL与OpenGL ES区别

OpenGL ES开发框架 GLSurfaceView Renderer

华章培训

第8页

android_3D游戏开发终极版

OpenGL 概述OpenGL是由SGI公司开发的一套3D图形软件接口标准,由于具有体系 结构简单合理、使用方便、与操作平台无关等优点,OpenGL迅速成 为一种3D图形接口的工业标准,并陆续在各种平台上得以实现。作为 一个性能优越的图形应用程序设计界面(API)而适合于广泛的计算 环境,从个人计算机到工作站和超级计算机,OpenGL都能实现高性 能的三维图形功能。由于许多在计算机界具有领导地位的计算机公司 纷纷采用OpenGL作为三维图形应用程序设计界面,OpenGL应用程序 具有广泛的移植性。因此,OpenGL已成为目前的三维图形开发标准

,是从事三维图形开发工作的技术人员所必须掌握的开发工具。(/)华章培训 第9页

android_3D游戏开发终极版

OpenGL ES概述OpenGL ESOpenGL ES是专为内嵌和移动设备设计的一个2D/3D轻量图形库,它是基于OpenGL API设计的。OpenGL ES 1.0 版基于OpenGL 1.3,而OpenGL ES 1.1则是基于OpenGL

1.5的。现在主要由Khronos Group(/)来负责管理OpenGL ES的开 发维护。

Android平台在sdk2.0之前支持OpenGL ES 1.1,而在2.0以后的 版本则支持OpenGL ES 2.0。华章培

训 第10页

android_3D游戏开发终极版

OpenGL与OpenGL ES区别之所以会推出OpenGL-ES版本,主要是应对嵌入式环境

和应用的要求。嵌入式设备一般工作于较恶劣的环境,包括:温度、湿度 、振动、冲击、酸碱腐蚀等。例如:中国的酸雨气候就给很多

室外电子设备带来了新的难题,中东地区的风沙也使得美军必须采用更先进的非IT技术来保护他们的电子设备。 需要人机界面的嵌入式应用,由于受环境受环境因素的影 响,一般不能提供有缘电源,在有限的电能限制下工作,如何 以更低的功耗完成人机交互界面,成为OpenGL必须要面对的 问题,进而推出了OpenGL-ES标准。应该说在高效完成 2D/3D界面的同时,达到了降低功耗的效果。华章培训 第11页

android_3D游戏开发终极版

OpenGL与OpenGL ES区别特别说明,在OpenGL发展到1.3版本时,OpenGL API

不再采用纯软件的形势进行运算,开始与硬件图形芯片结合,出现了OpenGL硬加速的实现形式。例如:很多显示芯片厂商 开始推出支持OpenGL硬加速的芯片,并与软件公司合作,实

现OpenGL硬加速。很多PC机的游戏会有加速软件,如实况足球,但目前这类基于PC加速软件还是通过软件形式进行优化, 即优化了3D渲染引擎。OpenGL硬加速的优点在于,使CPU从

繁重的图形运算工作中解脱出来,将运算重点集中于非界面应用,即嵌入式操作系统中优先级较高,但与界面无关的应用。 GPU(图形处理器)与CPU(中央处理器)的分工合作,带来

的就是高效率。华章培训 第12页

android_3D游戏开发终极版

OpenGL与OpenGL ES区别当然,事物均具有两面性,OpenGL-ES硬加速也有缺点 ,即增加了设备成本。这方面主要取决于其应用是否需要强劲 的性能,即对人机交互界面的更高性能的追求。 OpenGL ES相对OpenGL删减了一切低效能的操作方式, 有高性能的决不留低效能的:

没有double型数据类型,但加入了高性能的定点小数数据类型; 没有glBegin/glEnd/glVertex,只能用glDrawArrays

等。 没有实时将非压缩图片数据转成压缩贴图的功能,程序必须 直接提供压缩好的贴图;华章培训 第13页

android_3D游戏开发终极版

OpenGL ES 1.x和OpenGL ES 2.xOpenGL ES 1.x 为固定渲染管线(Fixed_Function )而设计。子版本包括:1.0,1.1。1.0从OpenGL 1.3裁 减而来;1.1从OpenGL_1.5裁减而来。1.1向下兼容1.0。 经研究,1.1因为更先进,而且相比1.0增加的特性也都很有 用,所以基本上不用考虑1.0了。1.1和1.0的变化不算很大 OpenGL ES 2.x 为可编程渲染管线(Programmable )而设计。目前只有2.0这一个子版本,从OpenGL2.0裁减而 来。和1.x的区别是可以支持vertex和pixel shader,因 此能够实现更多的特效。另外2.0就不再支持1.x里面的固定 管线功能了,也就是说2.x并不向下兼容1.x。华章培训 第14页

android_3D游戏开发终极版

Android O

penGL ES开发框架OpenGL ES开发包 android.opengl.*;

OpenGL ES视图 GLSurfaceView //OpenGL视图

Renderer

//渲染器

华章培训

第15页

android_3D游戏开发终极版

Android OpenGL ES开发框架Renderer接口 onSurfaceCreated(GL10 gl, EGLConfig config)

onSurfaceChanged(GL10 gl, int width, intheight) onDrawFrame(GL10 gl)

华章培训

第16页

android_3D游戏开发终极版

小结OpenGL

OpenGL ES

onSurfaceCreated GLSurfaceView Renderer onSurfaceChanged onDrawFrame

华章培训

第17页

android_3D游戏开发终极版

作业思考? 如何在OpenGL ES开发框架上绘制图形?并为图

形添加颜色和进行变换操作?

华章培训

第18页

android_3D游戏开发终极版

基本图形的绘制

主讲人:杨丰盛

华章培训网、[]华章培训网版权所有

本文来源:https://www.bwwdw.com/article/m9im.html

Top