3D游戏引擎术语介绍要领.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3D游戏引擎术语介绍 作者:韩红雷 1. 3D引擎(3D engine)、3D编程语言(3D language)和3D创作系统(3D authoringsystem)的区别是什么? 3D引擎是3D图形函数库。在因特网上有很多3D引擎,其中有一些还是免费的,有些商业化的引擎价格在50美元到25万美元之间。3D引擎需要使用外部的开发系统来编写程序,使用最多的是是微软的VisualC++。围绕3D引擎通过编程来开发游戏具有极大的自由度,但也需要很多的经验、工作和时间。 3D编程语言提供了一种更加容易的编写3D应用程序的方法,因为你使用的是一种专门为3D游戏设计的脚本语言来编写DirectX界面。这种语言不受3D引擎速度和自由度的影响,并且避免了使用“真正”编程语言带来的问题。很多3D编程语言使用Basic——一种比较容易学习的语言,但由于其落后的语言结果,所以并不适合于编写大而复杂的游戏。比较适合于当前游戏开发需要的是基于C或者JavaScript的语言。 创作游戏最简单的方法是使用3D创作系统——它们有自己的3D引擎,并且具备可视化编辑器,可以很快地创作一个游戏原型。当然了,只有很简单的游戏才可能绕开编程,创作系统一般都提供脚本语言来进行编程或定制游戏。利用创作系统,再加上对独立3D引擎的编程,可以在很短的时间内创作一款游戏,很多大的游戏公司都开始使用创作系统来开发游戏了。 一些简单的创作系统针对FPS(First or third PersonShooters),不提供或者只提供有限的脚本编程。尽管利用他们开发的FPS游戏并没有什么市场,但如果你不希望使用脚本或者不想让你的游戏商业化的话,也可以使用他们来开发游戏。而多数的创作系统可以用来开发任何种类的游戏或者3D应用程序。下面是一个当下流行的系统和引擎的对比表: **代表可以被显示,但需要第三方工具来创建。 $$$表示发行或者销售游戏需要额外收费或履行特定的条件。 该表格基于2005年秋的各厂家说明书,不保证所有数据的正确性。如果有多种许可版本,选择价格适中的版本列出。列出的Gamestudio/A6属性基于Gamestudio网站最新的更新版本。 上表并不是要说明哪个系统更好。即使功能很相似,各系统之间在速度或稳定性方面也会有差距。对于你来说哪个系统更加出色主要取决于你的工程、目标、个人倾向,当然还有你的预算。你可以通过分析屏幕截图、演示和使用试用版来决定你使用哪个系统。 2. 什么是渲染器(Renderer),什么是顶点变换和光照(TL)? 渲染器是3D引擎的核心部分,它完成将3D物体绘制到屏幕上的任务。根据3D硬件使用方法的不同,可以分为DirectX和OpenGL两种渲染器。OpenGL渲染器通过OpenGL图形库来使用3D硬件,多数3D卡支持这种方法。而DirectX渲染器使用微软的DirectX库——归并到Windows操作系统中。在老的3D卡上面,OpenGL一般绘制速度较快一些,而在现代的3D卡上面,DirectX表现则更加出色。现在的OpenGL版本只有一个,而DirectX版本有很多: DX6 基本的3D支持,没有硬件TL,整合于Windows95中 DX7 与DX6相似,但具有硬件TL,整合于Windows98中 DX8 有了重大改进,支持着色器,整合于Windows2000、ME、XP中 DX9 和DX8类似,具有类C的着色器语言,整合于WindowsXP SP2中 在一个物体被绘制到屏幕之前,必须先计算它的光照,并且将它从3D世界转换到屏幕二维坐标系中(这两个过程称为光照和顶点变换,也就是TL,TransformationLighting)。渲染器可以使用自己的算法(软件TL),也可以使用3D硬件(硬件TL,OpenGL和DirectX7或以上版本)来完成这个任务。在老的系统上,必须模拟硬件TL,所以运行速度很慢;而在新一代的3D卡(GeForce和Radeon)上面,硬件TL运行十分快,并且比软件TL光照效果要好。一些渲染器对两种方法都支持,这样可以让硬件发挥最大的效果。 3. 什么是剔除(culling)系统和LOD系统? 剔除系统可以只绘制出游戏场景中未被墙及其他物体遮挡的部分。一般的剔除系统是基于BSP树或者入口(Portal)的。BSP树系统是最快和最有效的场景组织结构,特别是对于室内场景来说,但是BSP树必须在场景编辑器中预计算。渲染器不支持使用八叉树(Octree)来组织场景的剔除。多数商业化3D引擎使用基于BSP树的剔除系统。如果使用BSP树的剔除系统的话,室内渲染速度和场景大小、对象数目无关,甚至在老的PC上都可以使游戏以正常的帧率运行。 LOD系统可以增加室外场景的帧率。如果摄像机离物体比较远的话,

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档