仿真图形引擎技术..docVIP

  • 6
  • 0
  • 约6.29千字
  • 约 6页
  • 2018-07-02 发布于河北
  • 举报
仿真图形引擎技术..doc

随着计算机软、硬件突飞猛进的发展,计算机图形学在各个行业的应用也得到迅速普及和深入。目前,计算机图形学己进入三维时代,三维图形在人们周围无所不在。科学计算可视化、计算机动画和虚拟现实已经成为近年来计算机图形学的三大热门话题,而这三大热门话题的技术核心均为三维图形。 由于三维图形涉及到许多算法和专业知识,要快速的开发三维应用程序是有一定困难的。当前在微机上编写三维图形应用一般使用OpenGL或DirectX,虽然OpenGL或DirectX在三维真实感图形制作中具有许多优秀的性能,但是在系统开发中直接使用它们仍存在一些缺点:1、都是非面向对象的,设计场景和操作场景中的对象比较困难。2、主要使用基层图元,在显示比较复杂的场景时编写程序相对困难。3、没有与建模工具很好的结合。4、缺乏对一些十分重要的关键技术如LOD(Level of Detail)、动态裁剪等的支持。基于以上情况,应用程序开发人员非常需要一个封装了硬件操作和图形算法、简单易用、功能丰富的三维图形开发环境,这个环境可以称作三维图形引擎。 引擎,是借用机器工业的同名术语,表明在整个系统中的核心地位。也可以称之为“支持应用的底层函数库”或者说是对特定应用的一种抽象。三维引擎需要解决场景构造、对象处理、场景渲染、事件处理、碰撞检测等问题。1. 3D游戏引擎、仿真软件和图形引擎概述目前3D图形技术大量应用于游戏和仿真领域,从技术实现上可分为基础层、中间层和应用层三个层次,如图1所示。基础层主要是3D加速硬件和厂商提供的基本的API函数接口;中间层则是根据游戏和仿真各自不同的需求编写的公共引擎或软件(在游戏领域多称之为XX游戏引擎,仿真方面一般称为XX仿真软件或XX仿真环境);应用层则是具体的游戏产品或仿真应用。可以看出,一个良好的游戏引擎(仿真软件)是一款游戏产品(仿真应用)的基础,在一个相对成熟的游戏引擎基础上,游戏开发商能很快地根据需要开发出相应的游戏产品,仿真软件商也能很快地为客户建立各种仿真应用。因此,在目前市场上,3D开发的主要竞争集中在中间层次,谁占领了这个层次,谁在竞争中就有更大的胜算,这也就是市场上有这么多各式各样种类繁多的引擎和开发包的原因。3D游戏引擎和仿真软件同处于中间层,但他们各自有着不同的侧重,但有一点是共同的:他们都拥有强大的3D图形引擎作为表现输出的基础。 图1 3D图形技术在游戏开发和仿真软件开发中的层次关系2. 3D游戏引擎及相关产品2.1 3D游戏引擎3D游戏引擎主要由如下几个方面组成:  ① 3D图形引擎  ② 声音引擎  ③ 物理引擎  ④ 控制引擎  ⑤ 人工智能或游戏逻辑  ⑥ 游戏GUI界面(菜单)  ⑦ 游戏开发工具  ⑧ 支持局域网对战的网络引擎开发  ⑨ 支持互联网对战的网络引擎开发  下面逐一介绍每个部分:  图形引擎主要包含游戏中的场景(室内或室外)管理与渲染,角色的动作管理绘制,特效管理与渲染(粒子系统,自然模拟(如水纹,植物等模拟)),光照和材质处理,LOD(Level Object Detail)管理等,另外还有图形数据转换工具开发,这些工具主要用于把美工用DCC软件(如3DS Max,Maya,Soft XSI,Soft Image3D等)软件制作的模型和动作数据以及用Photo shop或painter等工具制作的贴图,转化成游戏程序中用的资源文件。声音引擎主要包含音效(Sound Effect简称SE),语音(VOICE),背景音乐(Background music简称BGM)的播放。SE是指那些在游戏中频繁播放,而且播放时间比较短,但要求能及时无延迟的播放,VOICE是指游戏中的语音或人声,这部分对声音品质要求比较高,基本上用比较高的采样率录制和回放声音,但和SE一样要求能及时无延迟的播放,SE在有的时候因为内存容量的问题,在不影响效果的前提下,可能会降低采样率,但VOICE由于降低采样率对效果影响比较大,所以一般VOICE不采用降低采样率的做法。BGM是指游戏中一长段循环播放(也有不循环,只播放一次)的背景音乐,正是由于BGM的这种特性,一般游戏的背景音乐是读盘(光盘或硬盘)来播放。另外一些高级声音特效,如EAX,数字影院系统(DTS5.1),数字杜比环绕等。物理引擎主要包含游戏世界中的物体之间、物体和场景之间发生碰撞后的力学模拟, 以及发生碰撞后的物体骨骼运动的力学模拟(比较著名的物理引擎有havok公司的game dynamics sdk,还有open source 的ODE—Open Dynamics Engine)。控制引擎主要是把图形引擎、声音引擎、物理引擎整合起来,主要针对某个游戏制作一个游戏系统,其包含游戏关卡编辑器,主要用途是可以可视化的对场景进行调整,光照效果和雾化等效果调整,事件设置,

文档评论(0)

1亿VIP精品文档

相关文档