阅读前提条件
我用了很长一段时间一直在思考如何些这些教程。现在我终于决定不再解释每个必须了解的原理。
在网络上有很多不错的资源,比我能更好的解释这些关键原理。
但我也花了一段时间为大家挑选了一些页面,请根据最适合自己的进行阅读:【译者注:某些链接已无效,在此已删除】
- - 世界矩阵、视图矩阵和投影矩阵揭秘
- - 教程 3:矩阵 将为您简要介绍一下模型矩阵、视图矩阵与投影矩阵
- - 变换 (Direct3D 9)
- - 3D 简要介绍 :一个优秀的 PPT 幻灯片!请至少读到 27 页,在此之后的内容也谈到 OpenGL 或 DirectX 链接到 GPU 的技术。
- - OpenGL 变换
或许你已经知道了一些三角形的概念,这与 API 无关(OpenGL 或 DirectX),我们以后将看到。
通过阅读这些文章,你真正需要了解的是,有这样一连串的变换:
- 我们先围绕一个三维物体本身
- 对同一个对象移入虚拟的 3D 世界中通过矩阵操作进行平移、缩放或旋转
- 在 3D 世界中摄像机朝向这个三维物体
- 这个流程之后最终的结果将会投射在一个二维空间,也就是你的屏幕上
这一切都是通过矩阵神奇的运算累计变换完成的。在教程示例运行之前,你真的应该稍微了解这些概念。就算你不读这些文章就明白了这一切也应该去扫一眼,因为你日后在写 3D 软件渲染引擎时很可能会回去看。不过这是完全正常的,不用担心 !;) 因为最好的 3D 学习方式是通过试错。
我们不会花时间说矩阵是如何工作的,好消息是,你也不需要真正了解矩阵。我们简单的把它看成一个黑盒子,然后做正确的操作就行了。我不是矩阵的高手,但是我可以设法自己编写 3D 软件渲染引擎。所以,你这样做也可以取得成功。
然后,我们将使用为我们工作的库:
- 对于 C#开发人员来说,我们可以用 SharpDX,是一个 DirectX 的托管包装库。
- 对于 JavaScript 开发人员来说,我们可以使用由 David Catuhe 编写的 Babylon.math.js 库。
- 同时,我用 TypeScript 重写了 Babylon.math.js 库。
所需要的软件
我们可以编写 C#语言开发的 WinRT/XAML Windows Store Apps 应用程序,或使用 TypeScript/JavaScript 开发的 Html5 应用程序。
那么,如果你想要使用 C#进行开发,你需要安装:
- 1 - Windows 8 及以上版本的操作系统
- 2 - Visual Studio Express for Windows Store Apps( 点此下载 ) 或以上版本的 Visual Studio IDE。
如果你选择使用 TypeScript 编写,你需要从这里 安装 此语言。
你会发现这个插件是 Visual Studio 2012 版本的,但还有其他的选择: Sublime Text, Vi, Emacs:TypeScript 支持 !
【译者注:此处省略 100 个英文字母,给 TypeScript 打广告太明显,偏离了本章主题】
如果你选择 JavaScript,你只需要安装你喜欢的 IDE 和 Html5 兼容的浏览器。:)
请使用你喜欢的语言创建一个名为“SoftEngine”的项目。如果选择的语言是 C#,请使用 NuGet 添加“SharpDX core assembly”到你的解决方案中:
如果是 TypeScript,请下载 Babylon.math.ts 。如果是 JavaScrip,请下载 Babylon.math.js 。并进行引用。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论