Irrlicht 1.7 实时3D引擎初学者教程(译):前言

发布于:2023-03-28 ⋅ 阅读:(382) ⋅ 点赞:(0)

Irrlicht 1.7 实时3D引擎初学者教材 会教你掌握使用Irrlicht创建2D或者3D游戏应用的所有有用的东西。从正确安装开始,一步一步部署。

从安装开始,这本书将带领你走一遍基本模板应用,使用网格(mesh),创建遮罩(overlays)以及用户界面(UI)。然后就是数据类型(data type)、节点(node)、场景(scene)、摄像机(camera)、光照(light)以及粒子系统(particle system)。接着你将学会一些更高级的概念,比如处理数据(data)、文件(file)以及着色器(shader)。然后通过最后的阶段——部署——在附录中。

这本书是一本按部就班的教程,让初学者从一个简单的高度开始学Irrlicht,然后逐渐从简洁明了的代码例子、一定量的游戏demo中学会更高级的东西。

这本书包含了什么

第一章:安装Irrlicht。展示了如何获取并且跨平台安装Irrlicht,如Windows、Macos以及Linux。

第二章:创建一个基础模板应用。解释了如何使用不同的集成开发环境(IDE)部署和创建一个基础的Irrlicht应用,如Microsoft Visual Studio、Xcode、Code::Blocks等等。

第三章:载入网格。展示了如何将3D网格添加到我们的应用中,用上材质,并且使其有动画。

第四章:遮罩以及用户界面。探索Irrlicht的2D能力,创建图形化用户界面(GUI),载入以及渲染2D图片。

第五章:理解数据类型。提供了C++模板的入门,还有一些数学概念,比如说向量(vector)。

第六章:场景管理。介绍如何使用CopperCube这个Irrlicht可视的3D场景编辑器。它能使用于免费以及商业用途。

第七章:使用节点——Irrlicht引擎的基础对象。解释了Irrlicht中的节点是什么,如何让动画器(animator)做一些基础动画。

第八章:摄像机管理。展示了如何使用摄像机场景节点,也涉及了一点点创建简单地形来让摄像机走一遍。

第九章:点亮场景。介绍了光照概念、材质、阴影,以及使用CopperCubeIrrEdit

第十章:使用粒子系统创建炫丽的效果。教你如何使用可视编辑器或者代码实现粒子系统。

第十一章:处理数据和文件。解释了如何保存和载入游戏相关的数据文件,比如玩家存档。

第十二章:在Irrlicht中使用着色器。介绍了图形渲染管道的工作原理以及着色器的实际使用。

附录:部署出一个Irrlicht应用。解释了打包一个跨平台Irrlicht应用的步骤以及依赖关系。包含Windows平台、Mac平台和Linux。

阅读本书需要的东西

你需要有C/C++的实践和理解,一个能跑样例代码的编译器。你的电脑需要一块能跑3D游戏的显卡(DirectX和OpenGL)。我们会以在不同的平台部署安装Irrlicht开始,所以你并不需要事先安装好Irrlicht引擎。

本书的阅读对象

如果你有一定的C++技能,并且对学习如何用Irrlicht 2D/3D应用非常感兴趣,那么这本书就是为你而写的!实际上,阅读本书之前并不需要你对有Irrlicht任何的了解。

约定

本书里,你会看到一些经常出现的标题。

为了给出清晰明了的如何完成一个过程或者任务的指令,我们使用:

是时候行动了 —— 标题

  1. 步骤1。
  2. 步骤2。
  3. 步骤3。

这些指令经常需要一些额外的解释,所以它们经常还会跟着:

喵~刚刚发生了什么?

这个标题将会解释你刚刚完成的指令或者任务都干了些什么事。

你也会看见其他一些学习目标在书中:

快回答快回答 —— 标题

这里会有一些简短的选择题,帮你测试下自己到底回了没。

来一个吧,伙计 —— 标题

这给你一个挑战练习,以及一些让你实验自己刚才所学的内容的点子。

你还能看到一些与平常文字风格不同的文字。这里有几个例子以及它们的含义。

行内代码将如引号里所示:“我们载入我们的网格文件,并放在一个 IMesh 对象中”。

如果是代码块的话:

if(node)
{
    node->setMaterialFlag(EMF_LIGHTING, false);
    node->setMaterialTexture(0, driver->getTexture("sydney.bmp"));
}

新的东西重要的词将会加粗。你在屏幕上的菜单或者对话框中看到的字,在本书中将这么写:“点击 Add Images 来添加图片”。

Note: 警告或者重要的注意事项将在这个引用框中。

 

Tip: 提示以及小技巧在这个引用框中。

读者反馈

我们非常欢迎读者对我们的书进行反馈。让我们知道你对这书是怎么想的——喜欢哪些地方以及不喜欢哪些地方。读者反馈对于我们来说非常重要。

如果给我们发送一般的反馈,只需要简单的发送一封邮件到 feedback@packtpub.com,然后在邮件标题中提及本书的名字即可。

如果你需要或者想要我们出版一本书,在 www.packtpub.com 给我们以 SUGGEST A TITLE 为标题给我们留言,或者发送邮件到 suggest@packtpub.com

如果你有一个非常擅长的主题,并且也对写作或者贡献一本书非常感兴趣,请参考我们的作者向导:www.packtpub.com/authors

用户支持

现在你是一本 Packt书 骄傲的主人了!我们将为你提供了一系列的东西来帮助你获得你买本书的最大价值。

下载本书的样例代码

你可以下载你通过官网账号买的所有 Packt书 中的样例代码。如果你是在别处买的书,你也可以访问 http://www.packtpub.com/support 来注册一个账号。

勘误表

即使我们非常小心地勘误我们的内容,错误总是避免不了的。如果你找到了我们书中的错误,有可能是文章中的,也有可能是代码中的,我们会非常高兴你报告了我们。这么做的话,你拯救了阅读本书的其它读者们!如果你找到任何错误,请访问 http://www.packtpub.com/support ,选择你的书,点击 errata submission form 连接,然后进入详情界面。一旦你的勘误被验证了,你的提交将会被接受,并且上传到我们的网站,或者被加到任何已经存在的勘误表中。所有的已存在勘误表都可以在 http://packtpub.com/support 中被找到。

问题

你可以联系我们——questions@packtpub.com

本文含有隐藏内容,请 开通VIP 后查看