开源
OGRE:面向对象的3D图形渲染引擎
来源:元经纪     阅读:1296
网站管理员
发布于 2023-06-19 09:31
查看主页

概述

OGRE(面向对象的图形渲染引擎)是一种以 C++ 编写的面向场景的灵活 3D 引擎,旨在使开发人员更轻松、更直观地利用 3D 硬件制作游戏和演示。类库抽象了使用底层系统库(如 Direct3D 和 OpenGL)的所有细节,并提供基于世界对象和其他直观类的接口。

OGRE 构建指南

Ogre在所有支持的平台上使用CMake作为构建系统。本指南将向您解释如何使用 CMake 从源代码构建Ogre。您需要 CMake 版本 >= 3.10。

什么是CMake?

CMake 是一个跨平台构建系统——或者更准确地说是一个构建配置器。它是一个程序,它从一组 CMake 脚本中为您的平台创建一个本地构建系统,允许您构建Ogre。构建过程可通过 CMake 配置。Ogre提供了几个选项,您可以使用它们来定制您的构建。

准备构建环境

您现在应该在Ogre源代码之外的某处为Ogre创建一个构建目录。这是 CMake 将为您选择的平台和编译器创建构建系统的目录,也是编译Ogre库的目录。这样,Ogre源代码目录保持干净,并且您可以拥有多个构建目录(例如,Android 和 Linux),它们都来自同一个Ogre源代码。

[hidecontent type="logged" desc="隐藏内容:登录后可查看"]

获取依赖项

默认情况下,当你第一次运行 cmake configure 时,ogre 会自动构建推荐的依赖项。默认情况下, Ogre会将依赖项安装到Dependencies构建目录的子文件夹中。您可以通过在 cmake 中设置来配置它OGRE_DEPENDENCIES_DIR
笔记
由于依赖项是在CMake 的配置CMAKE_BUILD_TYPE阶段构建的,因此您必须通过命令行指定所需的依赖项。在 CMake GUI 中更改值将无效。
如果您更愿意使用系统范围的库集OGRE_BUILD_DEPENDENCIES=OFF。在 Windows 上,您将指向OGRE_DEPENDENCIES_DIR所有中间件项目的公共依赖项文件夹。在此目录中,您必须具有子目录 bin、lib 和 include,您可以在其中分别放置 .dll、.lib 和依赖项的头文件。 手动构建依赖,请参考下面的列表,从网站上获取源码包,然后根据其文档进行构建。

Linux

在 Linux 上,您还需要以下系统头文件来构建 GL、GL3+、GLES2 和 Vulkan 渲染系统:
  • Ubuntu

    sudo apt-get install libgles2-mesa-dev libvulkan-dev glslang-dev libxrandr-dev

  • 软呢帽

    sudo dnf 安装 mesa-libGL-devel mesa-vulkan-devel glslang-devel

此外,我们建议安装以下可选包
  • Ubuntu

    sudo apt-get install libsdl2-dev libxt-dev libxaw7-dev doxygen

  • 软呢帽

    sudo dnf 安装 SDL2-devel libXt-devel libXaw-devel doxygen pugixml-devel

这些将启用 SampleBrowser 中的输入处理、X11 ConfigDialog 并允许构建文档。

推荐依赖

可选依赖项

运行CMake

现在通过在控制台中键入名称或从开始菜单中选择它来启动程序 cmake-gui。在Where is the source code字段中输入Ogre源目录的路径(包含该文件的目录)。在构建二进制文件的位置字段中,输入您创建的构建目录的路径。点击配置。将出现一个对话框,要求您选择一个生成器。 查看CMake 文档以了解有关哪一个适合您的平台和编译器的详细信息。
笔记
在 OSX 上,您必须使用 Xcode 生成器来获取正确的 SampleBrowser .app 包。
单击完成。CMake 现在将收集有关您的构建环境的一些信息并尝试找到依赖项。然后它将显示构建选项列表。您可以根据自己的喜好调整设置;
  • 取消选中任何选项OGRE_BUILD_XXX将禁用构建该特定组件/插件
  • OGRE_CONFIG_XXX另一方面允许您配置核心功能,例如线程或 zip 文件支持。
  • OGRE_CONFIG_NODE_INHERIT_TRANSFORM为Ogre::SceneNode启用剪切和非均匀缩放。这需要稍微多一点的存储和计算时间。
  • OGRE_CONFIG_ENABLE_MESHLOD如果启用,来自 *.mesh 文件的 LOD 级别用于减少三角形数量。如果禁用,它们将在加载时被跳过。减小子网格大小和实体大小。
  • OGRE_PROFILING在 ogre 库中添加分析工具。
  • OGRE_PROFILING_REMOTERY_PATH如果设置,Remotery 用于分析而不是Ogre内部分析器。
  • OGRE_ASSERT_MODE允许您禁用所有运行时断言异常或将它们转换为对std::abort.
  • OGRE_RESOURCEMANGER_STRICT允许您打开与资源查找相关的怪癖以实现 pre ogre 1.10 兼容性。
  • OGRE_NODELESS_POSITIONING允许使用 Lights 和 Cameras 而无需将它们附加到节点(仅适用于遗留代码)。
满意后,再次点击Configure,然后点击Generate。然后 CMake 将为您创建构建系统。

建筑

转到您选择的构建目录。CMake 已经为您生成了一个构建系统,您现在将使用它来构建Ogre。如果您使用的是 Visual Studio,您应该可以找到 OGRE.sln 文件。打开它并编译目标BUILD_ALL。同样,您会找到一个 Xcode 项目来在 MacOS 上构建Ogre。 如果您想从控制台触发构建,则 cd 到您的构建目录并调用适当的 make 程序
制作--建造。--config 发布
开始构建过程。
笔记
在多配置生成器上,特别是 Xcode 和 MSVC,在构建依赖项时--config必须匹配指定的。如果您手动提供依赖项作为发布和CMAKE_BUILD_TYPE调试,则这不适用。
如果您安装了 doxygen 并且 CMake 将其拾取,那么将会有一个名为OgreDoc 的额外构建目标,您可以选择构建它。这将从头文件中为Ogre的类重新生成 API 文档。在 Visual Studio 中,只需选择并构建目标OgreDoc,在 Linux 上键入:
制作 OgreDoc

安装中

构建完成后,必须将库和标头复制到一个干净的位置。如果你想在你自己的 CMake 项目中引用 Ogre,这是必需的。在 Visual Studio 中,只需选择并构建目标INSTALL。使用命令行时,键入:
制作--建造。--config 发布 --target 安装
对于基于 Makefile 的生成器,键入:
make install #(或 sudo make install,如果需要 root 权限)
在 Linux Ogre/usr/local将默认安装到。在 Windows 上,这将在您的构建目录中创建文件夹sdk,并将所有必需的库复制到那里。CMAKE_INSTALL_PREFIX您可以通过更改CMake 中的变量来更改安装位置。

通过 vcpkg 安装和构建

您可以使用vcpkg依赖管理器下载并安装 ogre :
git 克隆 https://github.com/Microsoft/vcpkg.git
光盘 vcpkg
./bootstrap-vcpkg.sh
./vcpkg 集成安装
vcpkg 安装食人魔
vcpkg 中的 ogre 端口由 Microsoft 团队成员和社区贡献者保持最新。如果版本已过期,请在 vcpkg 存储库上创建问题或拉取请求。

交叉编译

基于 Android 的 Ubuntu

要为Android构建Ogre,您需要指定android交叉工具链到cmake as
cmake -DCMAKE_TOOLCHAIN_FILE=path/to/android-ndk/build/cmake/android.toolchain.cmake -DANDROID_NDK=path/to/android-ndk 。
这将构建核心Ogre库。此外,它将创建 gradle 项目OgreJNI以使用 Java 绑定和SampleBrowserNDK仅适用于 C++ 的示例浏览器。 您现在可以在 Android Studio 中导入这些项目,或者通过切换到项目文件夹并运行来手动触发 APK 创建
gradle assemble发布

为 WebAssembly 构建(使用 Emscripten)

安装 Emscripten SDK(请参阅www.emscripten.org上的完整文档),并确保环境变量设置正确(例如,source <emsdk_path>/emsdk_env.sh在尝试构建之前运行) 使用 emscripten 在交叉编译模式下运行 cmake,如下所示:
mkdir 构建 wasm
emcmake cmake .. -DCMAKE_BUILD_TYPE=发布
制作
注意:为了简化流程,使用了“emcmake”和“emmake”包装器。这些工具由 Emscripten 提供,用于正确设置交叉编译环境 这不会构建完整的 SampleBrowser,而只是一个最小的示例。结果EmscriptenSample.html将放在${CMAKE_BINARY_DIR}/bin/. 为防止任何跨源问题,启动本地网络服务器python3 -m http.server 8000并访问http://localhost:8000

在 Mac OS X 上为 iOS 操作系统构建

要为 iOS 构建Ogre,您需要将 ios 交叉工具链指定为 cmake as
cmake -DCMAKE_TOOLCHAIN_FILE=CMake/toolchain/ios.toolchain.xcode.cmake -DIOS_PLATFORM=SIMULATOR -G Xcode 。
不幸的是,您现在必须执行一些手动步骤才能使生成的构建系统正常工作。 现在已经在build目录下生成了一个Xcode工程,接下来启动Ogre构建,打开 OGRE.xcodeproj 并像往常一样构建。要在您的设备上运行示例,您需要安装有效的 iOS 开发人员证书。对于每个示例,双击“组和文件”列表中的目标。确保在代码签名身份下拉菜单中选择了有效身份。另外,因为我们无法告诉 CMake 您想要什么 Xcode 项目格式,您将不得不自己更改它。打开项目菜单,选择编辑项目设置。单击设置窗口中的常规选项卡。将项目格式更改为与 Xcode 3.1 兼容。还有一件事。您将需要手动设置 Info.plist 文件的 Bundle Identifier 属性以匹配所选代码签名身份的 App ID。这可以从“目标属性”面板完成。

构建为 Windows 应用商店或 Windows Phone 应用程序

您需要 Windows 8.0 或更高版本,建议使用 Windows 10。 建议使用 Visual Studio 2015,因为它与 Universal 10.0.240.0、WinStore 8.0/8.1 和 WinPhone 8.0/8.1 SDK 捆绑在一起。 Win32 和 WinRT 的依赖项必须位于单独的文件夹中。不支持 Cg。
cmake.exe -G "Visual Studio 15 2017" -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0 ..
选择 SampleBrowser 作为启动项目并运行。

谁在使用它?

开源

详细教程请参阅

网页链接

[/hidecontent]

 
免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 开源
深化校企合作 虹魔方川影联手提升电视吸引力
燃气灶调小火 究竟应该往哪边拧 大部分人都做错了
蜜雪冰城急着加入争夺“新茶饮第三股”
数据“上云端” 打造生产“晴雨表”
三星可能为Galaxy S25 Ultra提供3种配置

首页

分类

定制方案

消息

我的