3D游戏引擎实用的执行方法.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3D游戏引擎实用的执行方法 (A Practical Implementationof a 3-D Game Engine) 摘要: 制作一个3-D游戏引擎并不是一件很简单的任务,因为现在的游戏玩家常常 要求在游戏中有着高性能和高质量的输出。在这篇文章中,我们向大家展示了多 种实时渲染的算法如何用来在一个实际的3-D游戏引擎中提高性能。我们探究了 一个通用的3-D游戏引擎的结构并且讨论了在3-D游戏引擎中的视景图像的任 务。我们将从软件工程的角度来研究视景图像,我们将向你展示一种面向对象的 和可以方便的通过不同渲染引擎来设计的视景图像。接下来,我们解释了在我们 的3-D游戏引擎中用来提高引擎性能的算法。我们在视景图像和物体几何层面上 对我们的3-D游戏引擎进行了优化。我们提出的算法在静态和动态的场景中表现 的都是相当的好。最后,我们用多处理器在视景图像方面用并行处理的方式来建 立个3-D游戏引擎方面作了一下简单的展望。 一、介绍: 在过去的十年里面,计算机游戏行业经历了巨大的增长的黄金时期。在过去 的几年里,随着3-D加速硬件设备的飞快的进步,游戏制造行业都将焦点集中在 用创新的思想来生产交互式的3-D游戏。3-D游戏引擎是驱动这些游戏的核心技 术。简单的来讲,一个3-D擎获得游戏中的3-D物体的几何数据并将这些数据展 示在显示设备上,典型的显示设备就是显示器。这个过程就是我们通常所知的渲 染。3-D物体的几何数据通常通过一系列的顶点来定义,物体的具体特性(象漫 射的颜色,镜面反射以及发射出的颜色等),纹理图,纹理匹配以及一些常用的 向量。所有的这些数据在3-D游戏引擎处理途径中经历不同的阶段来决定着这些 3-D物体的最终显示的效果。 图1 一个完整的3-D引擎的处理过程。高层的视景图像给用户一种直觉的方 式来模拟一个场景,优化的场景保证了场景对于渲染的高效率。 高层视景图像规定了在游戏中的物体之间的关系,它对于游戏开发者来讲也 是在游戏中操纵这些物体的一个应用程序接口(API)。在一个场景被渲染之前, 视景图像必须为了渲染而被优化。这种优化处理就是典型的将高层视景图像转变 成(编译成)优化的视景图像,这种被优化的视景图像就是用了一种非常适用于 渲染的数据结构。这就要求开发者去详细的确定每个物体的“线索”:比如这个 物体是静止的还是移动的,物体的结构是否随着时间的变化而变化等等。视景物 体剔除就是将观察者不能看到的物体丢弃掉的处理过程,尽管细节层次控制可以 将相对于观察着者比较远的一些无关紧要的物体给删除掉。所有这些思想的背后 就是减少渲染那些你看不见的东西以及减少远端物体几何数据,为了是将送往最 终渲染管线的数据减到最少,这些将会明显的提高渲染性能。这些就是一个3-D 游戏引擎为了提高它的性能而所要完成的主要任务。 后续的任务,诸如灯光,视角转换,裁减,投影变换以及光栅化,都是渲染 引擎为了完成渲染流程所需要承担的任务。渲染引擎,就是经常提及的立即模式 渲染引擎,往往都可以被3-D加速硬件支持。两种主要的适用于PC机的渲染引擎 就是微软的Direct3D和Silicon Graphics 公司的OpenGL。在这种渲染引擎上开 发游戏往往是枯燥和耗费时间的,这些引擎所给的程序接口都是些程序性的和面 向硬件的。在接下来的部分,我们将在集中在建立3-D游戏引擎的三个主要的模 块:(1)为我们的3-D引擎建立高层场景图像;(2)为了建立优化的场景图像 的算法;(3)如何丢弃不在观察者视野范围内的物体,并且适当的控制细节层 次控制物体。 2.在3-D引擎中的设计问题 视景图像设计由于它直接牵扯到整个3-D引擎的性能所以显得非常重要。它 定义了一种让程序员来模拟视景的方式。一个好的视景图像设计应该允许程序员 将更多的视景(诸如物体和它们的排列)包含在视景中,并且想到用最好的方式 来展现它们,并且可以忽略掉渲染管线的复杂的控制。程序员将通过视景图像的 API来设计3-D引擎。 视景图像设计 在视景图像设计中的第一个问题就是要考虑物体的表现。就像我们上面提到 的一样,象Direct3D和OpenGl这样的立即模式的渲染引擎均倾向于拥有自己的面 向图形硬件的渲染程序功能函数。很显然,这种面向渲染的设计并不适合于完成 我们的视景图像的设计的目标。一个面向对象的视景图像设计明显的是一种比较 好的程序模式,在这种模式中允许程序员在视景中用对象的概念来设计3-D游戏。 我们将所有的游戏对象都当作视景中的3-D对象

文档评论(0)

天马行空 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档