探索 Ogre 3D:强大的实时 3D 图形开发工具
1. 什么是 Ogre 3D
Ogre 3D 是一个成熟、稳定、可靠、灵活、跨平台且功能齐全的库,用于开发实时 3D 图形应用程序。在深入了解之前,我们先来明确一些基本概念。
2. Ogre 3D SDK
软件开发者工具包(SDK)为系统的服务或功能提供了一致的应用程序编程接口(API)。例如,若要为 Windows XP 操作系统编写程序,会使用 Win32 API,其功能通过众多系统级库(如 user32.dll、kernel32.dll 等)来实现。理论上,可使用底层编程技术直接访问这些系统 DLL 的功能,但使用微软提供的 SDK 会更轻松。
对于系统级服务,SDK 包含头文件和(在 Windows 上)系统 DLL 的导入库。对于非系统服务(如 NVIDIA 的 Cg Toolkit),SDK 还会包含实际的 DLL(在 Linux 上为 .so 文件)。Ogre 属于非系统功能,其 SDK 会提供头文件、适用的导入库以及动态链接代码模块,有 Debug 和 Release 两种构建版本。Debug 版本是非优化版本,包含内存检查和初始化;Release 版本则针对执行速度进行了优化。
在链接方面,Windows 和 Linux 有所不同。链接器的工作是将目标文件链接到包含符号的库。在 Windows 上,应用程序在链接时不直接链接到 DLL,而是链接到导入库,该库包含链接器用于插入最终可执行文件的信息,以便运行时库加载器能找到外部引用。而在 Linux 上,动态库在链接时直接被引用,Linux 共享对象加载器可直接解析外部引用。