可用于构建跨平台的 3D 图形应用,支持 macOS、iOS 等系统。核心功能包括高效渲染、多平台适配,提供丰富示例程序,采用 CMake 构建系统便于编译和集成。【此简介由AI生成】
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 |
引言
欢迎来到 OpenSceneGraph(OSG)。
若想获取项目的最新信息,深入了解如何编译和运行库及示例,请查阅 OpenSceneGraph 官网上的文档:
http://www.openscenegraph.org/index.php/documentation
如需支持,请订阅我们的公共邮件列表或论坛,详情如下:
http://www.openscenegraph.org/index.php/support
对于不耐烦的用户,我们提供了以下快速构建指南,分为三个部分:
- OpenSceneGraph 构建的一般说明
- macOS 版本说明
- iOS 版本说明
如果下述细节不足以满足您的需求,请访问 openscenegraph.org 的 Documentation/GettingStarted 和 Documentation/PlatformSpecifics 部分,以获取更深入的指导。
Robert Osfield。 项目主管。 2020年1月31日。
第一部分. 如何构建 OpenSceneGraph
如果您正在使用 vcpkg 依赖管理器,您可以通过单个命令下载并从源代码安装 OpenSceneGraph,并使用 CMake 集成:
vcpkg install osg
OpenSceneGraph 使用 CMake 构建系统生成特定平台的构建环境。CMake 读取 OpenSceneGraph 目录下的 CMakeLists.txt 文件,检查已安装的依赖,然后为选定的构建系统生成文件。
如果您的系统中还没有安装 CMake,可以从 http://www.cmake.org 下载,建议使用 2.8.0 或更高版本。关于 OpenSceneGraph 的 CMake 构建详情可以在以下网址找到:
http://www.openscenegraph.org/projects/osg/wiki/Build/CMake
在类 Unix 系统(例如 Linux、IRIX、Solaris、Free-BSD、HP-UX、AIX、macOS)下,使用 cmake 或 ccmake 命令行工具。请注意,cmake . 默认构建 Release 版本,以确保最终库/应用程序的最佳性能。
cd OpenSceneGraph
cmake .
make
sudo make install
或者,您可以创建一个源外构建目录,并从中运行 cmake 或 ccmake。这种方法的优点是 CMake 创建的临时文件不会杂乱地存放在 OpenSceneGraph 源目录中,并且通过创建多个构建目录,可以实现多个独立的构建目标。在 OpenSceneGraph 旁边的目录中执行以下操作:
mkdir build
cd build
cmake ../OpenSceneGraph
make
sudo make install
在 Windows 系统下,使用 GUI 工具 CMakeSetup 生成您的 VisualStudio 文件。我们维基上专门介绍 CMake 构建系统的页面应能帮助您完成这个过程:
http://www.openscenegraph.org/index.php/documentation/platform-specifics/windows
在 macOS 下,您可以使用上述的 CMake 构建系统,或者使用 OpenSceneGraph/Xcode 目录中的 Xcode 项目。关于 macOS CMake 构建的 release 说明如下。
关于编译、安装以及平台特定信息的更多细节,请阅读“入门指南”:
http://www.openscenegraph.org/index.php/documentation/10-getting-started
第 2 部分。macOS 构建版本的 release 说明,作者:Eric Sokolowski 等。
在 macOS 下编译 OpenSceneGraph 有两种方法。推荐的方法是使用 CMake 生成 Xcode 项目文件,然后使用 Xcode 构建库。默认项目将能够构建调试或发布版本的库、示例和示例应用程序。
另一种方法是从命令行使用 make 或 ninja,按照上述类 Unix 系统的说明进行操作。
以下是使用 CMake 时需要考虑的一些关键设置:
BUILD_OSG_EXAMPLES- 默认情况下是关闭的。打开此设置以编译许多示例程序。CMAKE_OSX_ARCHITECTURES- Xcode 可以创建可以在多个架构上运行的应用程序、可执行文件、库和框架。使用此设置来指示要在其上构建 OSG 的架构。对于版本 > 10.7 的操作系统,x86_64 是唯一支持的值。OSG_BUILD_APPLICATION_BUNDLES- 通常只为示例和示例应用程序创建可执行二进制文件。如果您想创建真实的 macOS .app 包,请打开此选项。创建.app包有一些注意事项,请参见下文。OSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX- 默认情况下,macOS 使用imageio插件而不是单独文件类型的插件(例如jpg、gif等)来加载图像文件类型。imageio插件可以通过 ImageIO 框架处理所有流行文件格式。OSG_WINDOWING_SYSTEM- 在 macOS 上构建应用程序时,可以选择使用 Cocoa、Carbon 或 X11。Cocoa 是版本 >= 10.5 的默认设置。Carbon 和 X11 已不再由 Apple 或 OSG 社区积极支持。
应用程序包 (.app 包)
作为应用程序包构建的示例程序仅包含可执行文件。它们不包含依赖库,因此通常不可移植到其他机器。
它们也不知道如何找到插件。可以设置环境变量 OSG_LIBRARY_PATH 指向插件 .so 文件的位置。OSG_FILE_PATH 可以设置指向数据文件的位置。将 OSG_FILE_PATH 设置为 OpenSceneGraph-Data 目录在运行示例程序测试 OSG 时非常有用。
许多示例程序使用命令行参数。当双击应用程序(或在命令行上使用等效的 "open" 命令)时,只有那些不需要命令行参数的示例和应用程序才能成功运行。如果需要命令行参数,可以在命令行中运行 .app 包中的可执行文件。
第 3 部分。iOS 构建版本的 release 说明,作者:Thomas Hogarth
安装了 CMake 3.11、XCode 9.4 和 iOS sdk 11.4 后,可以使用以下命令行生成 iOS XCode 项目:
export THIRDPARTY_PATH=/path/to/3rdParty
cmake ./ -G Xcode -DOSG_BUILD_PLATFORM_IPHONE:BOOL=ON \
-DIPHONE_SDKVER="11.4" \
-DIPHONE_VERSION_MIN="10.0" \
-DOPENGL_PROFILE:STRING=GLES3 \
-DOSG_CPP_EXCEPTIONS_AVAILABLE:BOOL=ON \
-DBUILD_OSG_APPLICATIONS:BOOL=OFF \
-DBUILD_OSG_EXAMPLES:BOOL=ON \
-DOSG_WINDOWING_SYSTEM:STRING=IOS \
-DOSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX="imageio" \
-DDYNAMIC_OPENSCENEGRAPH:BOOL=OFF \
-DDYNAMIC_OPENTHREADS:BOOL=OFF \
-DCURL_INCLUDE_DIR:PATH="$THIRDPARTY_PATH/curl-ios-device/include" \
-DCURL_LIBRARY:PATH="$THIRDPARTY_PATH/curl-ios-device/lib/libcurl.a" \
-DFREETYPE_INCLUDE_DIR_freetype2:PATH="$THIRDPARTY_PATH/freetype-ios-universal/include/freetype" \
-DFREETYPE_INCLUDE_DIR_ft2build:PATH="$THIRDPARTY_PATH/freetype-ios-universal/include" \
-DFREETYPE_LIBRARY:PATH="$THIRDPARTY_PATH/freetype-ios-universal/lib/libFreetype2.a" \
-DGDAL_INCLUDE_DIR:PATH="$THIRDPARTY_PATH/gdal-ios-device/include" \
-DGDAL_LIBRARY:PATH="$THIRDPARTY_PATH/gdal-ios-device/lib/libgdal.a"
请确保将 THIRDPARTY_PATH 设置为包含您的第三方依赖项的路径。将 IPHONE_SDKVER 设置为您安装的 iOS sdk 版本,在本例中为 11.4。IPHONE_VERSION_MIN 控制由 xcode 使用的部署 sdk,最后设置 OPENGL_PROFILE 为您想要使用的 GLES 版本。
完成后,将在 osg 根目录生成一个 XCode 项目。打开生成的 Xcode 项目,选择 example_osgViewerIPhone 目标。在 'General' 选项卡中设置一个开发团队。
完成这些后,您应该能够在您的设备上构建和部署 example_osgViewerIPhone 目标。