openscenegraph:基于 CMake 的 3D 图形渲染库项目

可用于构建跨平台的 3D 图形应用,支持 macOS、iOS 等系统。核心功能包括高效渲染、多平台适配,提供丰富示例程序,采用 CMake 构建系统便于编译和集成。【此简介由AI生成】

分支1Tags3
文件最后提交记录最后更新时间
2 年前
1 年前
1 年前
1 年前
10 个月前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前

构建状态 Coverity 状态 文档 ABI 追踪器

引言

欢迎来到 OpenSceneGraph(OSG)。

若想获取项目的最新信息,深入了解如何编译和运行库及示例,请查阅 OpenSceneGraph 官网上的文档:

http://www.openscenegraph.org/index.php/documentation

如需支持,请订阅我们的公共邮件列表或论坛,详情如下:

http://www.openscenegraph.org/index.php/support

对于不耐烦的用户,我们提供了以下快速构建指南,分为三个部分:

  1. OpenSceneGraph 构建的一般说明
  2. macOS 版本说明
  3. 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)下,使用 cmakeccmake 命令行工具。请注意,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 构建库。默认项目将能够构建调试或发布版本的库、示例和示例应用程序。

另一种方法是从命令行使用 makeninja,按照上述类 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 插件而不是单独文件类型的插件(例如 jpggif 等)来加载图像文件类型。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 目标。

项目介绍

可用于构建跨平台的 3D 图形应用,支持 macOS、iOS 等系统。核心功能包括高效渲染、多平台适配,提供丰富示例程序,采用 CMake 构建系统便于编译和集成。【此简介由AI生成】

定制我的领域