Delta3D/Page2
Delta3D 知识树
哎呀,我以为树的比喻已经过时了!?抱歉。
所以,有一些核心的知识领域,如果你对它们一无所知,你就会在 Delta3D 中遇到麻烦。
这是基本列表(倒置的树,根部在先!)
- C++
- 基本图形概念
- OpenGL
- Open Scene Graph (OSG)
- Delta3D
C++
Delta3D 是一套用 C++ 编写的库。因此,你将用 C++ 编写你的核心 VSG(Vis, Sim, Game!)代码,以便轻松调用这些函数并使用这些类。你可以在学习的过程中学习 C++,但我们强烈建议你在维基百科或 cplusplus.com 上查找任何你读不懂的概念。
这里有一个小测试。当我讲以下这些词语时,你是否感到自在?
- 方法
- 成员
- 派生类
- 虚函数
- 保护成员
- 接口
- 生物
忘了最后一个吧。这是一个关于瑞恩和史坦普的动画片里的一个愚蠢的引用。你将要筛选 Delta3D 和 OSG 的大量在线文档,以找到你需要的类和函数。这些文档像过时了一样使用这些花哨的 C++ 术语。除非你对它们有足够的了解,否则你将不得不服用大量的布洛芬。
基本图形概念
知道什么是球体吗?平面呢?顶点、顶点法线、面、多边形呢?向量呢?同样地,在维基百科上查找这些图形术语,并点击一些链接。这很有趣。OpenGL 就是关于这些东西的,而 OpenGL 真的非常接近那棵神秘的知识树的根部。阅读一些 OpenGL 也不会有害,但我认为可以等到你开始更深入地进行自己的 VSG 开发的时候再看。
OpenGL
真的,在维基百科上查找 OpenGL,你将找到你所需的一切。我们只需简单地说:现存的低级图形库只有两个,其中一个每个计算机都需要用来进行 3D 图形处理:DirectX 和 OpenGL。DirectX 只能在 Windows 上运行。OpenGL 可以在其他所有平台上运行,包括 Windows。Delta3D 使用 OpenGL。
Open Scene Graph
Delta3D 是一套函数和类,它们使构建 VSG 变得更容易、更省心。它包含很多假设你想要以特定方式构建 VSG 的东西(但不是太具体)。然而,存在一种名为场景图的数据结构,它对你的代码试图做什么的假设更少,但仍然试图提供帮助。场景图主要试图做的是隐藏一些你需要让 3D 图形显示在屏幕上的令人讨厌、庞大的 OpenGL 代码。Open Scene Graph 是一个非常成功、历经时间考验的开源场景图库,你可以今天就下载并开始使用!当然,Delta3D 比你先一步做到了。它已经建立在 OSG 之上。Delta3D 是否像 OSG 对 OpenGL 所做的那样,将所有令人讨厌的 OSG 工作机制隐藏起来?不是的!或者说,部分隐藏了,但没有你想象的那么多。这一点非常重要:没有了解 OSG 工作机制的来龙去脉,你很难在 Delta3D 上取得进展。这是悲哀的现实。在你能够用 Delta3D 变魔法之前,你真的需要掌握两个大型库:Delta3D 和 OSG。
所以不妨现在就看看它:www.openscenegraph.org。这是不可避免的。当然,这本书也涵盖了 OSG,但从试图将其与 Delta3D 结合使用的人的角度来看。
Delta3D
最后,我们到达了树木上闪闪发光的叶子,也就是 Delta3D 本身。有很多类和函数可以探索。而且它组织得非常好,所以你学习的每一部分都会牢固地帮助你理解仍然在你面前的东西。