




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于b r e w 的三维手机游戏开发研究 计算机软件与理论专业 研究生聂启阳指导教9 币王玲 摘要 伴随着手机用户的增加和手机性能的提高,手机游戏目前在国内外都取得了 巨大的成功,目前正向着网络化、3 d 化、大型化的方向发展。b r e w 是美国高通公 司推出的无线开发平台,是一种新的软件牙发技术。本文对在b r e w 平台下,采用 o r l e n g le s 的渲染引擎,整合游戏领域的各种关键技术,开发3 d 实时游戏做了深 入的研究,并最终实现了一个3 d 游戏。 本文首先对基于b r e w 的开发技术做了研究,分析了b r e w 应用程序架构的特 点、b r e w 的模块结构、b r e w 应用程序的开发过程。对设备模拟器、资源编辑器、 m i f 文件等重要概念作了详细阐述。 手机游戏开发是一项技术性强、涉及面广的大型软件工程。本文结合手机自 身的软、硬件特点,对游戏中的数学方法( 定点数、平方根算法、三角函数) , 碰撞检测算法,粒子系统,基于o r ,e n g le s 的三维图形渲染技术这几项关键技术 做了深入研究,并最终给出了在手机游戏中的解决方案。 最后,本文结合前面的研究成果,设计和实现了一款3 d 实时游戏。测试结 果表明,该游戏在模拟器上的帧速在i 4 0 f p s 以上,场景渲染效果真实。证明了 设计方案的正确性。 关键词:b r e w ;o p e n g le s ;渲染;碰撞检测:粒子系统 a b s t r a c t w t ht h ei n c r e m e n to ft h em o b i l eu s e fa n dt h e i m p r o v e m e n to ft h e h a n d s e t sp e r f o r m a n c e ,g r e a ts u c c e s sh a v eb e e na c h i e v e di nb o t hh o m e a n do v e r s e a sm a r k e to nm o b i l ep h o n eg a m e a tp r e s e n tt h e r ei sat r e n dt h a t i tw i l lb en e t w o r k e d 、t h r e e d i m e n s i o n a la n d c o m p l i c a t e di n t h en e a r f u t u r e b r e wi saw i r e l e s ss o f t w a r ed e v e l o p m e n tp l a t f o r mt h a tp u b li s h e d b yq u a l c o n i mc o r p o r a t i o n i t san e ws o f t w a r ed o v e o p m e n tt e c h n o l o g y t h i sp a p e rm a k ead e e ps t u d yo fh o wt oi n t e g r a t em a n yk e yt e c h n o l o g yi n t o r e a l t i m e3 dm o b il ep h o n eg a m ed e s i g na n dr e a li z a ti o nt h a ta d o p ti n go r ) e n g l e sr e n d e re n g i n ea n du n d e rt h eb r e wp l a t f o r m f i n a 】l yw er e a l i z e da3 d m o b i l eg a m e i nt h i s p a p e r w ef i r s t m a k eas t u d y0 n b r e w ,i n c l u d i n g t h e c h a r a c t e r i s t i c so fa p p l i c a t i o nf r a m e w o r k ,t h em o d u l es t r u c t u r ea n dt h e p r o c e s so fd e v e l o p m e n t w ea l s oe n u n c i a t em a n yi m p o r t a n tc o n c e p t ss u c h a sd e v i c es i m u l a t o r 、r e s o u r c ee d i f o ra n dt h e m i ff i l e t h em o b i j ep h o n eg a m ed e v e l o p m e n ti sah i g h j yt e c h n i c a 】s o f t w a r e e n g i n e e r i n gt h a tr a n g e do v e rm a n y s u b j e c t s a s s o c i a t e d w it ht h e c h a r a c t e r i s t i c so ft h ep h o n eh a r d w a r e ,w em a k ead e e ps t u d yo nm a t h e m a t i c a l m e t h o d ( f i x e dp o i n tm a t h 、s q u a r er o o t 、t r i g o n o m e t r i cf u n c t i o n ) 、c o l l i s i o n d e t e c t i o n 、p a r t i c l es y s t e m a n dt h er e n d e rt e c h n o l o g yb a s e do no p e n g l e s f i n a l l yw eg i v eas o l u t i o nf o rm o b i l ep h o n eg a m e s a tt h el a s to ft h ep a p e r ,w ed e s i g na n dr e a li z ea3 dr e a l t i m eg a m e a d o p t i n gt h ep r e v i o u sf r u i t t h et e s tr e s u l tp r o v e st h a tt h es p e e dr e a c h a sh i g ha s1 4 0 f p so nd e v i c es i m u l a t o r ,a n dt h er e n d e re f f e c ti sr e a l i s t i c t h e s er e s u l t ss t r o n 9 1 yp r o v et h ev a l i d i t yo ft h es c h e m e k e y w o r d s :b r e w :o d e n g le s :r e n d e r :c 0 1 l i s i o nd e t e c t i o n ;p a r t i c l e s y s t e m 四j l l l j 币范大学学位论文独创性及使用授权声明 本人声明:所呈交学位论文,是本人程导师玉猃 指导下,独立进行 研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他 个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个 人和集体,均已在文中以明确方式标明。 本人承诺:已提交的学位论文电子版与论文纸本的内容一致如因不符而 引起的学术声誉上的损失由本人自负。 本人同意所撰写学位论文的使用授权遵照学校的管理规定; 学校作为申请学位的条件之一,学位论文著作权拥有者须授权所在大学拥 有学位论文的部分使用权,、即:1 ) 已获学位的研究生必须按学校规定提交印 刷版和电子版学位论文,可以将学位论文的全部或部分内容编入有关数据库进 行检索;2 ) 为教学和科研目的,学校可以将公开的学位论文或解密后的学位 论文作为资料在图书馆、资料室等场所或在校园网上供校内师生阅读、浏览 论文作者签名:理翩i o6 年旷其烀 第一章绪论 1 研究背景 目前p c 游戏在国内取得了巨大成功,创造了一个个财富神话,从当前的 发展趋势来看,p c 游戏的成功也必将移植到手机平台上,根据信息产业部的统 计,目前国内手机用户就已超过4 亿l f ,按照8 l o 高端手机用户比例计算 的话,那么,我国市场将有4 0 0 0 万愿意使用高端产品和手机游戏服务的高级 用户。假设这4 0 0 0 万用户每人每月只下载一个游戏,每下载一个游戏收费5 元,那么一个月的市场就有2 亿元,一年就有近2 4 亿元。专家预测,预计至 2 0 0 9 年,移动游戏市场产生的总收益将达到1 8 5 亿美元,虽然手机游戏目前存 在着一定的硬件制约,但是在硬件技术飞速发展的时间里,今天的问题也许在 明天就不是问题。目前已经有厂商已经生产出每秒1 0 0 万p o l y g o n ( 构成三维影 像的基本单位) 的绘图加速芯片,已有手机内存高达1 2 8 1 ,芯片商达4 0 0 m ,已 经超过了8 0 年代p c 电脑的性能。特别是3 g 的出现,带来了高达每秒3 8 4 k 的 移动带宽。因此,我们可以大胆预测,在不久的将来,手机上的3 d 游戏必将 像现在p c 上的3 口游戏一样流行。 由于手机游戏产业蕴藏着巨大的商机,近两年来,不管是移动运营商,还 是终端厂商或s p ,产业链上每个环节都希望在手机游戏这一新的市场中找到自 身的位置,同时大量的资本也开始涌入这个行业【2 j 。中国移动通信和中国联通 分别推出了“百宝箱”和“神奇宝典”,支持手机游戏无线下载。新浪、网易、 搜狐也都推出了游戏服务专区,专业的游戏服务商不断涌现。硬件上,未来的 手机游戏平台因为a t i 和n v i d i a 两大p c 显示芯片厂商专业级水准的加入而 更为热闹。在a t i 推出手机和p d a 手机3 d 多媒体芯片( 包含专用的媒体处理 器m e d i a p r o c e s s o r 及3 d 加速器3 d a c c e l e r a t o r ) 后,老对头n v i d a 也毫不示 弱,公布了他们的3 d 多媒体芯片,并且应用于三菱和神达m i t a c 的智能手机 上。这些芯片在植入手机后能够有效的提升图形显示性能,使手机在进行多媒 体演示和游戏时更够有出色显示效果。 1 2 国内外研究现状 手机游戏的发展,伴随着手机的性能的不断提高,也经历了几次变革1 2 1 。 早期的手机不支持游戏下载和安装功能,因此游戏在出厂前就固化在芯片 中了,像n o k i a 的贪吃蛇就是一个最著名的例子。这些游戏通常逻辑简单,游 戏界面也极为单调,而且用户也不能自己安装新的游戏,因此它们逐渐变得不 太流行了。 接下来由于短消息服务侣m s ) 的出现而出现了基于短务游戏的玩法通常是 发送一条信息到某个号码,这个号码对应游戏供应商的服务信息的游戏。短消 息服器,服务器接收这条消息,执行一些操作然后返回一条带有结果的消息到 游戏者的手机中。短消息服务不是一个特别好的用于实现移动游戏的技术,因 为它依靠用户输入文字,因此本质上它是一个命令行环境。而且它还很昂贵, 即使和服务器只交换1 0 次信息也要花费1 块钱或者更多的钱。虽然多媒体消 息服务fm m s ) 技术的推出使得基于消息的游戏更加具有吸引力,但是仍然不是 一种重要的游戏环境。 差不多1 9 9 9 年以后出厂的每台手机都有一个无线应用协议( w a p ) 浏览器。 w a p 本质上是一个静态浏览载体,非常像一个简化的w e b ,是为移动电话小型 特征和低带宽而专门优化的。要玩w a p 游戏的话,可以进入游戏供应商的u r l ( 通常通过移动运营商门户网站的一个链接) ,下载并浏览一个或多个页面, 选择一个菜单或者输入文字,提交数据到服务器,然后浏览更多的页面。 w a p ( 1 x ) 版本使用独特的标记语言w m l ,允许用户下载多个页面,即卡片组。 新版本的w a p ( 2 x ) 使用x h t m l 的一个子集,一次传递个页面并且允许更好的 控制显示格式。两种版本的w a p 都提供一个比s m s 更友好的界面,而且更加便 宜,只要根据使用时间付费而不是根据信息数。但是它是一个静态的浏览载体: 手机本身几乎不需要做任何处理过程,并且所有游戏必须通过网络,所有的操 作都是在远程服务器上执行的。手机将继续带有w h p 浏览器,而且开发者可能 发现w a p 有利于传送比游戏应用程序提供的更详细的帮助信息或者规则,因为 大部分的游戏仍然受有限的内存制约。因而,w a p 没能达到高使用率的目标( 在 欧洲和北美洲,只有6 的手机使用w a p ) ,而且移动运营商和游戏开发者正在 远离w a p 技术。 2 手机游戏领域因为美国s u n 公司的j 2 m e ( j a v a2m i c r oe d i t i o n ) 和高通的 b r e w ( b i n a r yr u n tj f i l ee n v i r o n m e n tf o rw i r e e s s ) 技术相继进入该领域丽更 加精彩,它们为移动互联引入了一种新的模型,即允许手机从互联网上下载各 种应用程序,并在手机创造可执行环境,离线运行这些程序。由于定义了可执 行程序下载的标准,并在手机上龟u 立了可执行环境和程序开发语言,由此,在 移动通信业第一次为软件开发商创造了巨大的商业机会,手机用户在得到丰富 应用体验的同时,也大大提高了运营商的网络流量。 目前手机游戏业务呈现出加速发展的势头,成为继短信业务之后一个新的 数据业务增长点。而网络化、3 d 化、大型化也成为手机游戏未来的一个发展趋 势。对3 d 手机游戏的研发,国外起步较早,从2 0 0 5 年开始,c r a m e l o i t 、d i g i t a l c h o c o l a t e 、f a t h a m m e r 等手机游戏公司都已经或即将推出3 d 游戏,各手机终 端商也纷纷推出支持3 d 的手机以及相应的开发工具包。而在国内,无论在学 术上还是商业上,对3 d 手机游戏的探讨才刚刚起步,对基于b r e w 的3 d 手 机游戏,目前还没有公开的学术成果。探索3 d 手机游戏的开发思路,对于缩 短与国际水平的差距,推动国产游戏在引擎或专利技术的突破,增强国产手机 游戏的自主研发能力,具有重大的理论和现实意义。 1 3 研究内容和目标 如前所述,手机游戏具有广阔的市场前景,必将向着3 d 化的方向发展, b r e w 和o p e n g le s 正是在这样的背景下出现的新技术。怎样在这样的技术 平台下,结合手机自身的软硬件特点,整合游戏领域的最新技术,是本文研究 的重点。具体来讲,研究内容主要集中在以下几个方面: 1基于b r e w 的软件开发技术。 2 基于o p e n g le s 的手机三维图形渲染技术。 33 d 手机游戏的总体方案设计。 4基于b r e w 的3 d 手机游戏的详细设计和实现 本文将通过对上述的几个方面的深入分析,提出套完整的解决方案,并 最终实现一个完整的基于b r e w 的3 d 手机游戏。 1 4 论文的内容以及组织 本论文一共分六章,主要内容如下: 第一章绪论,主要介绍了本论文的研究背景、 n g l - 手机游戏的发展现状、 论文的主要研究内容和目标以及论文的组织工作。 第二章研究了基于无线开发平台b r e w 的软件开发技术,对b r e w 的应用程 序架构、特点,b r e w 的模块结构,b r e w 的应用开发过程做了深入研究。 第三章研究了手机上的三维图形渲染技术,介绍了当前流行的几种3 1 ) a p i , 并对基于o p e n g l e s 的图形渲染技术做了深入研究。 第四章运用前面的研究成果进行三维游戏的总体设计。包括软硬件平台、 关键技术的选取、游戏流程设计以及游戏的功能和总体结构设计。 第五章进行游戏的详细设计和实现,包括游戏中的交互设计,游戏中的数 据结构设计和类的设计和关键技术的实现,并给出了游戏的性能分析和效果 图。 第六章总结及展望,总结本文的工作,并提出进一步的研究方向。 4 第二辈基于b r e w 的开发技术研究 2 1b r 酬概述 b r e w ( b i n a r yr u n t i m ee n v i r o n m e n tf o rw i r e l e s s ,无线二进制运行环境) 是高通公司面向e d 凇网络无线互联网发射平台上增值业务开发运行的基本平 台”。它提供了一个离效、低成本、可扩展和熟悉的应用程序执行环境( a e e ) , 着重开发可无缝植入任何实际手持设备的应用程序。与建立在对内存空闻、处 理器速度和相关硬件有较高要求的操作系统之上的高端产品不同,b r e w 可在现 有的设备类型上运行。b r e w 提供的功能环境就好像p c 机上的操作系统一样,可 以通过服务提供商下载指定类型的应用程序或游戏来使用。同时,通过b r e w 接口 功能,供应商可以提供成套的完整的资讯、商务、娱乐功能。b r e w 是专门为无线 设备设计的一个瘦薄而高效的应用程序执行环境。b r e w 可充分扩展、面向对象 的应用程序执行环境允许使用c 或c 十+ 开发小程序和共享模块。此外,b r e w 的 设计还十分注重效率和节约移动设备的r a m 。b r e w 支持应用程序( 小程序) 和共 享模块。小程序和模块开发成独立的d l l ,并在运行时加载到e m u l a t o r 。共享模 块可提供各种功能,如可供若干小程序使用的增强型游戏a p i 。b r e w 小程序和模 块都在w i n d o w s 的模拟环境下开发,它提供了一套成熟的对象技术,开发者可以 从中获益,如:应用程序服务,支持简单的、基于事件的a e e ;内核服务,支持对文 件、网络服务、内存和屏幕的访问:增强型服务,例如增强图形性能、多媒体播 放器和录制器、g p s 和语音服务:集成服务,使应用程序开发者可以利用诸如浏 览器所支持的服务。 2 2b r e w 应用程序框架的特点 完整的b r e w 系统始于无线设备上开放、标准并可扩展的应用程序执行框 架。具有以下特点”1 : b r e w 体积小。b r e w 远不只是为p c 或p d a 开发的产品的一个小版本,它比 其它的应用程序框架或成熟的操作系统要小很多倍。q u a l c o h b i 过去曾是手机制 造商,悉知无线领域的需求,所以能够从芯片开始设计出b r e w 框架。 b r e w 速度较快。b r e w 框架直接运行于芯片系统软件上层,启用了快速c c + + 本地应用程序、测览器简单集成、j a y a t m 技术的虚拟机和扩展( 如3 d 游戏引擎、j ( m l 解析程序和视频播放器) 。 b r e w 是开放的。b r e w 除了支持基本的c c + + 以外,也支持其它执行环 境,例如j a v 8 和可扩展标记语言( 捌l ) 。并且因为b r e w 可以在使用任意移 动操作系统( 0 s ) 的手机上运行,例如p a l m ,所以为此类操作系统编写的应 用程序可像b r e w 应用程序一样,通过b r e w 发布系统( b d s ) 无线下载和收 取费用。 b r e w 有可扩展性。因为设备用户界面位于b r e w 上层,所以制造商可以通 过b r e w 扩展向已应用手持设备添加新功能,他们还可通过无线方式修正缺陷, 从而避兔昂贵的召回费用。第三方也可为b r e w 框架编写扩展,从而向应用程 序提供额外功能。q u a l c o 啪通过发布扩展并提供给开发人员使用,确保b r e w 始终保持其开放性。 b r e w 的性价比较高。b r e w 降低了设备制造商的开发成本并缩短设备的面 市时间。他们在开发和集成用于不同型号的各种应用程序时花费较少的时间, 而在设计产品上花费较多的时间。 b r e w 有较好安全性。b r e w 对基本的电话和无线网络运行提供保护。除了 其它措施之外,b r e w 刚还支持不同设备验证服务以验证请求者是否为已授权的 运营商设备。b r e w 还应用了数字签名校验来验证下载和其它无线揉作。 q u a l c 0 将继续努力使安全性更高,功能更强。 灵活且可扩展,b r e w 移植包简化了将b r e w 框架集成到无线设备的工作。 该环境提供了套标准的a p t ,适用于所有的b r e w 手机,使发行商和开发者在 从一种手机移植到另一种手祝时无需进行大量重复工作,便可提供精彩的应用 程序和内容。并且由于它们可以直接在b r e w 上层移植手机的用户界面,手持 设备制造商和( 或) 运营商可使用无线方式更新用户界面。b r e w 执行环境和 b r e w 发布系统紧密集成,允许用户通过q u a l c o n 提供的m 0 b il e s h o p ( 移动商 店) 和应用程序管理器或手机上的测览器进行购买。黜a l c o 黜提供m o b i l e s h o p 的源代码,并与运营商一起定制购物体验。 6 2 3 b r e w 环境下的软件开发 b r e w 允许程序员可以用几乎任何所选语言进行编程,但是用c c + + 开发的 本地b r e w 应用程序运行速度更快,因为它们使用直接处理,而不是字节代码翻 译。b r e w 还将支持为j a v a 平台编写的应用程序( 假定设备上有虚拟机) 以及几 乎各类微型浏览器( 毗p 、f h t m l 等) 的集成。b r e ws d k 开发包提供基于c c 十+ 、 j a v a 等编译环境的运行库和面向对象的类结构。包含了各种有效的系统调用、 用户接口、多媒体集成和网络套接字等类对象资源,开发者对b r e w 的开发就好像 在w i n d o w s 平台上编程,有种类繁多、功能强大的库函数调用一样,开发者不必 关心低级平台数据结构和设备驱动程序,因为应用程序和设备平台可以完全通 过适当定义的类对象进行交互。 b r e w 模块结构 b r e wa e e 提供了多种类型服务,包括若干a e e 接口,如i s h e l l 和i d j s p l a y 。 每个接口都封装了组资源和允许管理这些资源的方法。b r e w 模块可以包含一 个或多个小程序或类。模块在运行时显示这些类,并根据需要加载或卸载。接口 由一个3 2 位接口i d ( 也称作c l a s s l d ) 标识。公共接口必须通过o u a l c o m mb r e w 接口注册来保留。接口注册不限制接;d i d 的分配:它是为b r e w 开发者提供的服 务,可避免接口i d 发生冲突。每个b r e w 接口均由充当基类的i b a s e 接口派生。 在使用接口之前,必须通过调用l s h e l l 接口的i s h e l l - c r e a t e l n s t a n c e 0 方法 创建一个实例。将i s h e l l 作为其中一个参数传入每个应用程序中的入口点函数 a e e c l s c r e a t e l n s t a n c e 0 。对应于接口的唯一全局性标识符将被传递给 i s b e l l - c r e a t e l n s t a n c e 函数,以获取一个该接口的指针( 在小程序中保存该接 口实例以备将来使用) 设备模拟器 b r e we m u l a t o r 用于模拟所选的手持设备,使开发者可以下载并测试在b r e w 环境下开发的类和小程序。模拟的设备可以使用屏幕,键盘,也可以通过设备 配置工具( b r e wd e v i c ec o n f i g u r a t o r ) 设置内存大小、支持的语言和屏幕 尺寸。这样可以在p c 机上模拟在真实设备上的运行效果,方便程序调试,提高 开发效率。 资源编辑器 用于创建一个包含图像、字符串和对话的资源文件。可以为这些资源分配 i o ,并创建包含这些i d 的头文件,经过编译和链接并最终生成b r e w 中使用的后 缀名为h 的头文件和后缀名为b r i 的资源文件。 m i f 文件 在将小程序加载至o e m u l a t o r 之前,必须在m i f 编辑器中创建模块的1 f i f 。因 此作为小程序捆绑的一部分,必须要加载m i f 。在设备或e m u l a t o r 上启动系统以 后,应用程序管理器将处理每个m i f 以获取m f 中提供的所有应用程序的列表。 利用m i f 提供的信息,应用程序管理器将在设备屏幕上显示应用程序的列表( 包 括图标和标题) 。从m i f 枚举收集的信息由b r e w 保存,以便在请求类时使用: 这些信息支持各种1 s h e l1 函数,如可以枚举支持的小程序的函数。 b r e i r 应用程序开发过程 b r e w 编程基于g r e w 开发环境,以事件驱动模式调用各对象类,具体开发过 程如下: ( i ) 为b r e w 小程序( a p p l e t ) 类获取唯一标志( 1 0 ) ; ( 2 ) 使用b r e w 应用画板创建b r e w 应用,根据应用需求和应用模型进行编程。 ( 3 ) m f f 编辑器创建模块信息文件m 1 f 文件,任何b r e w 应用都必须使用该文 件,名称与k p p l e t 目录名必须保持一致。 ( 4 ) 编译b r e w 应用程序,创建动态连接库和可执行文件。 ( 5 ) 在b r e w 模拟器环境下调试应用程序,直到符合要求。 ( 6 ) 上传到设备运行,查看实际运行效果,然后根据情况调整和修改程序。 第三章手机三维图形渲染技术研究 3 1 手机3 d 图形技术概述 随着手机游戏产业的蓬勃发展,手机也引入了3 d 图形功能。早期的3 d 功 能是通过软件来实现的,现在部分高端手机已经配置了独立的3 d 图形芯片, 具备了硬件加速功能。与桌面p c 的显卡技术一样,手机3 d 图形技术也同样需 要一个标准的手机3 da p i 。a p i 作为连接硬件与应用程序的接口,为广大的软 件开发人员提供了一个统一的标准,在这个统一的3 0a p i 标准下,不同厂家 的硬件、软件达到最大范围的兼容。但是,在不同的手机上实现3 d 功能,要 比在台式机中实现3 d 功能时面临的情况要复杂得多,这是因为不同的手机技 术平台之间存在着巨大的差异性,而且也不可能像在p c 上做的那样对手机的 底层硬件进行编码,同时,手机上有太多种器件使用各种不同的处理器和操作 系统。 3 2 常见的3 d a p i 介绍 o p e n g le s 手机3 da p i 标准的制定,吸取了p c 游戏市场的教训,当时各种专用a p i 引起了不必要的竞争及冲突。主要手机制造商、芯片供应商、图形引擎及软件 提供商、游戏开发商以及基础设备开发企业等,都很快便看出这一潜在的问题, 并进行广泛的合作协作来共同保证从一开始便采用一致的a p i 。 作为移动3 d 图形行业标准的o p e n g le s 的出现,避免了手机制造商由于互不 兼容的游戏软件格式而导致无谓的市场竞争。o p e n g le s 源自p c 市场,是一个从 o p e n g l 淬取出来的低阶、低容量的先进绘图用a p i 。在应用软件与软硬件之间, 它提供了低阶应用可用程序化接口( a p i ) 。这份3 d 针对嵌入式系统所制定的绘 图a p i ,能够使3 d 绘图与游戏,在不同的行动装置或是嵌人式系统间,应用非常 便利。因为o o e n g le s ( o p e n g lf o re m b e d d e ds y s t e m s ) 是基于o p e n g l 所发展出 来的,因此o p e n g le s 能够运用o p e n f l 的资源。o p e ng l e s 已经获得了广泛的 行业支持,不仅得到了手机制造商及器件与内核提供商的支持,同时也获得了 图形引擎、游戏开发商以及操作系统供应商的支持。采用o p e n g le s 作为手机游 9 戏的3 d 接口在研发上具有以下优势”: 夺产业标准和免权利金 任何人都可以生产制作并贩售兼容于o p e n g le s 的产品。在多数产业里, o p e n g le s 是一个真正开放、中立与跟平台无关的绘图标准。具体而畜,o d e n g l e s 让开发人员能够更专注在产品内容里,而不需要花太多心力在适应各个平台 上。 小容量与低耗电量 由于手机硬件规格有非常大的不同,从4 0 0 m h z 、6 4 m br a m 到5 0 z 、1 临r a m 的手机都有。面对这些不同的平台,o p e n g le s 仅需要非常小的储存容量、晟 低的频宽。因此使用者可以轻易的将它放入系统里。 软硬件问连续绘图 所定义的绘图标准能够在不同平台下使用,其中包含纯硬件的绘图芯片、 运用c p u 功能的纯软件或是c p u 与硬件之间混合平台。这表示软件开发者今天 只要开发了一个3 d 引擎后。就可以和下一个世代的标准达到完全兼容。 夺延伸和未来发展 o p e n g le s 允许采用各种延伸指令的使用。透过a p i 中的延伸指令集,你可以 将硬件的特殊应用与o p e n g le s 整合,或是在特殊平台上使用您特制的功能。 当这些功能广泛被使用后,将有可能成为下一代的标准。 夺简单使用 根据o p e n g l ,o p e n g le s 具有直觉性运用与逻辑性命令的架构。 夺充份的文件支持 因为o p e n g le s 是基于o p e n g l 所发展,所以他有大量的教学书藉与无数的程 序范列可供参考,这使得o p e n g le s 可以很容易被使用。 m 3 g ( m o b i l e3 dg r a p h i c s ) m o b i l e3 1 ) g r a p h i c sa p i 简称m 3 6 , 他属于由j c p 组织制定的工业标准, 是为j 2 m e 环境下制定的三维图形标准,是基于o p e n g le s 但比o p e n g le s 更 高级的3 1 ) a p i 。m 3 g 只是一个j a v a 接口,具体的底层3 d 引擎一般由e 代码实 现。m 3 g 被设计为非常轻量级的,整个a p i 的完整实现不超过1 5 0 k b 。该a p i 1 0 是第一个基于j a v a 标准开发的移动设备上的三维图形软件包。m 3 6 支持两种 3 d 模式:立即模式( i m m e d i a t em o d e ) 和保留模式( r e t a i n e dm o d e ) 。在立即 模式下,开发者必须手动渲染每一帧,从而获得较快的速度,但代码较繁琐: 在保留模式下,开发者只需设置好关键帧,剩下的动画由m 3 g 完成,代码较简 单,但速度较馒。m 3 g 也允许混合使用这两种模式。 m a s c o tc a p s u l em c r 0 3 d m a s c o tc a p s u l em i c r 0 3 d 是由日本h r 公司歼发的针对移动设备的图形渲染 接口,已经被大量的手机生产商、网络运营商所采用,在日本的3 d 手机市场占 有率为1 0 0 。它由十个类构成,它为开发一些大型的3 d 游戏和应用程序提供了 充分的支持。m a s c o tc a p s u l ev 3 提供了一些非常实用的工具如模型导出工具和 文件格式转换工具等,可以帮助你创建资源像由3 兹妻模( 3 d 凇x ,舾y a 、 l i g h t w a v e 3 d ) 和图像编辑的权威应用程序产生的m b a c 、m t r a 和b m p 文件,并 且支持不同的开发语言如j a v a 和c c + + 。 综上所述,目前有3 种官方的三维a p i 标准,o p e n g le s 是一种较为低级的 a p i 。丽m 3 g 和s c o tc a p s u l em i c r 0 3 0 是更商级的a p ! ,因此o p e n g le s 的效率 更高。 3 3 基于o p e n g le s 的渲染技术研究 3 3 1b r e i v 平台下o p e n 6 le s 渲染技术概述 b r e w 作为优秀的无线应用开发平台,提供了对o p e n g le s 的良好支持。 0 p e n g le s 作为手机3 d 图形的标准,来自于o p e n g l 但又不同子o p e n g l ,基于b r e w 的o p e n g le s 渲染引擎的架构图如图3 1 所示,使用o p e n g le sa f 通常经过如下 几步: ( 1 ) 包含头文件 # i n c l u d e “i g l h ” # i n c l u d e “a e e g l h ” ( 2 ) 创建接口的实例 i f ( i s h e l lc r e a t e l n s t a n c e ( p g a m e mp l s h e l l ,a e e c l s i d _ g l ,( v o i d * * ) & m a a l g l ) = :s u c c e s s ) i g li n i t ( mp i g l ) : ) e i s o r e t u r nf a l s e : l i f ( i s h e l l _ c r e a t e i n s t a n c e ( p g a m e 一 m _ p i s h e l ,a e e c l s i de g l ,。( v o i d * * ) & md i e g l ) := s u c c e s s ) i e g l _ l n i t ( mp l e g l ) : e l s e r e t u r nf a l s e : ( 3 ) 程序结束时,必须释放相应的接口 i f ( mp l e g l ) i e g l _ _ r e l e a s e ( m _ d i e g l i f ( mp g l ) i g lr e l e a s e ( mp i c l 图3 1 基于o p e n g te s 渲染引鼙的架构图 3 3 2o p e n g le s 中的渲染上下文 正如在w i n d o w s 中使用g d 绘图时必须指定在骝s 个设备上下文( d e v i c e c o n t e x t ,又称设备描述表) 中绘制,同样地,在使用o p e n g le s 函数时也必须指 定一个所谓的渲染上下文。正如设备上下文d c 要存储6 d 的绘豪0 环境信息如笔、 刷和字体等,渲染上下文r c 也必须存储o p e n o le s 所需渲染信息。渲染上下文 主要由以下几个e g l 函数来管理,下面分别对其介绍。 g l _ a p ie g l c o n t e x tg l p i e n t r ye g l c r e a t e c o n t e x t ( e g l d i s p l a yd p y , e g l c o n f i gc o n f i g ,e g l c o n t e x ts h a r e1 i s t ,c o n s te g l i n t * a t t r i b - j s t ) 该函数用来创建一个o p e n g le s 可用的渲染上下文,在调用之前,必须指定设备 缓冲区e g l d i s p l a y 。在e g l c o n f i g 设置好相关参数。 g l _ a p ie g l b o o l e a ng la p i e n t r ye 9 1 d e s t r o y c o n t e x t ( e g l d i s p l a yd p y , e g l c o n t e x tc t x ) 该函数删除一个r c ,一般应用程序在删除r c 之前,应使它成为非现行r c 。 g la p ie g l c o n t e x tg la p i e n t r ye g l g e t c u r r e n t c o n t e x t ( v o i d ) 该函数返回线程现行的r c ,如果无则返回n u l l 。 g l _ a p ie ( ;l b o o t e a ng u p i e n t r ye 9 1 m a k e c u r r e n t s g l d i s p l a yd p y ,e g l s u r f a c e d r a w 。e g l s u r f a c er e a d ,e g l c o n t e x tc t x ) 将设备缓冲区如y 和渲染缓冲区d r a w 关联起来,并使e t x 成为现行r c g l a p ie g l s u r f a c eg la p t e n t r ye g l c r e a t e w i n d o w s u r f a c e ( e g l d i s p l a yd py e g l c o n f i gc o n f i g ,n a t i v e w i n d o w t y p ew i n d o w ,c o n s te g l i n t * a t t r i b j is t ) 创建渲染上下文的缓冲区,在执行0 p e n g le s 绘图命令时,先在往该缓冲区上画, 执行完所有的绘图命令后,再执行e g l s w a p b u f f e r s ( m _ d i s p l a g ,ms u r f a c e :1 将 渲染缓冲区的内容拷贝到显示缓冲区,采用双缓冲区技术不仅可以提高渲染效 率,更可以有效防止抖动现象。 3 3 3o p e n g le s 颜色机制 在i o p e n g l 中,颜色的模式有两种,即r ( b a 模式和颜色索引( c o l o ri n d e x 模 式。在r g b a 模式下,所有的颜色定义都使用r 、g 、b 、a ( a t p h a , 与透明度有关) ; 在颜色索引【:c o l o ri n d e x ) 模式下,每一个像素的颜色是用颜色索引表中的某个 颜色值来表示,而这个索引值指向了相应的r g b 照。这样的一个表称为颜色映射 _ ( :c o l o rm a p ) 。 而在! o p e n g le s 中,不支持颜色索引方式,只支持r g b a 模式,利用下面两条 语句分别定义当前的颜色和指定清除缓冲区的使用的颜色。因为o p e n g le s 不 支持浮点数,因此参数只能是定点数。 g l c o l o r 4 x ( g l f i x e dr e d ,g l f i x e dg r e e n ,g l f i x e db l u e ,c l f i x e da l p h a g l c l e a r c o l o r xi ( g l c t a m p xr e d ,g l c l a m p xg r e e n , g l c l a m p xb l u e ,g l c l a m p x a l p h a l 3 3 4o p e n g le s 中的纹理映射技术 在三维游戏中,纹理映射( t e x t u r em a p p i n g ) 的方法运用得很广,尤其描述具 有真实感的物体,因而在提高游戏的真实性方面异常重要。比如绘制一面砖墙, 1 4 就可以用一幅真实的砖墙图像或照片作为纹理贴到一个矩形上,这样,一面逼 真的砖墙就画好了。如果不用纹理映射的方法,则墙上的每一块砖都必须作为 一个独立的多边形来画。另外,纹理映射能够保证在变换多边形时,多边形上 的纹理图案也随之变化。例如,以透视投影方式观察墙面时,离视点远的砖块 的尺寸就会缩小,而离视点较近的就会大些。下面详细介绍o p e n g le s 纹理映 射有关的内容:纹理定义、纹理控制、映射方式和纹理坐标。 纹理定义 g l _ a p i v o i d g la p i e n t r y g l t e x l m a g e 2 d ( g l e n u m t a r g e t ,g l i n t l e v e l ,g l i n t i n t e r n a l f o r m a t , g l s i z e iw i d t h ,g l s i z e ih e i g h t , g l i n lb o r d e r , g l e n u m f o r m a t , g l e n u m t y p e ,c o n s t g l v o i d + p i x e l s ) 定义一个二维纹理映射。其中参数t a r g e t 是常数g lt e x t u r e _ 2 d 。参数l e v e l 表示多级分辨率的纹理图像的级数,若只有一种分辨率,$ f j l e v e l 设为0 。 参数i n t e m a l f o r m a t 是一个从i n 4 的整数,指出选择了r 、g 、b 、a 中的哪些分 量用于调整和混合,l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国移动广安市2025秋招笔试行测题库及答案综合管理类
- 中国广电济源市2025秋招网络优化与维护类专业追问清单及参考回答
- 中国联通儋州市2025秋招笔试行测经典题及答案
- 七台河市中石油2025秋招面试半结构化模拟题及答案安全环保与HSE岗
- 中国移动茂名市2025秋招笔试题库含答案
- 中国移动贺州市2025秋招财务审计类专业追问清单及参考回答
- 中国广电绵阳市2025秋招面试无领导高频议题20例
- 中国广电新疆地区2025秋招笔试行测题库及答案互联网运营
- 广元市中石化2025秋招笔试模拟题含答案安全环保与HSE岗
- 宜宾市中石油2025秋招笔试模拟题含答案市场营销与国际贸易岗
- 小小科学家体验活动-物理三年级(物理)试题含答案
- 多肽药物分析方法开发研究
- 花园小学少先队知识竞赛题
- 2023-2024学年上海市杨浦区六年级上学期期中考试语文试卷含详解
- 农行超级柜台业务知识考试题库(含答案)
- AMC数学竞赛真题答案2023
- 【华帝厨电应收账款现状及其风险分析(论文10000字)】
- 新标准大学英语(第三版)综合教程3(智慧版)课件 Unit6 Path to prosperity
- 部编版语文七年级上册第1课《春》阅读理解题(含解析)
- 短波通信系统和超短波通信系统
- 野外地质调查安全手册
评论
0/150
提交评论