OGRE引擎构建指南:从源码到可执行程序

OGRE引擎构建指南:从源码到可执行程序

ogre scene-oriented, flexible 3D engine (C++, Python, C#, Java) ogre 项目地址: https://gitcode.com/gh_mirrors/og/ogre

什么是OGRE引擎?

OGRE(Object-Oriented Graphics Rendering Engine)是一个面向对象的3D图形渲染引擎,它为开发者提供了简单易用的接口来创建复杂的3D应用程序和游戏。OGRE支持多种平台,包括Windows、Linux、macOS等,并提供了丰富的渲染特性。

构建前的准备工作

构建系统选择

OGRE使用CMake作为跨平台构建系统。CMake是一个构建配置工具,它通过读取CMake脚本文件,为您的平台生成相应的本地构建系统。构建OGRE需要CMake 3.10或更高版本。

创建构建目录

建议在OGRE源码目录之外创建一个专门的构建目录。这样做的好处是:

  1. 保持源码目录的整洁
  2. 可以针对不同平台创建多个构建目录
  3. 方便管理不同的构建配置

依赖管理

自动构建依赖

默认情况下,OGRE会在首次运行CMake配置时自动构建所需的依赖项。这些依赖项会被安装到构建目录下的Dependencies子目录中。您可以通过设置OGRE_DEPENDENCIES_DIR变量来更改这个位置。

重要提示:依赖项的构建发生在CMake的配置阶段,因此必须通过命令行指定CMAKE_BUILD_TYPE。在CMake GUI中修改这个值不会生效。

使用系统库

如果您希望使用系统已安装的库,可以设置OGRE_BUILD_DEPENDENCIES=OFF。在Windows上,您需要将OGRE_DEPENDENCIES_DIR指向一个包含bin、lib和include子目录的公共依赖项文件夹。

平台特定依赖

Linux系统

在Linux上构建OGRE需要额外的系统头文件来支持GL、GL3+、GLES2和Vulkan渲染系统:

  • Ubuntu

    sudo apt-get install libgles2-mesa-dev libvulkan-dev glslang-dev
    # 不使用Wayland时
    sudo apt-get install libxrandr-dev
    # 使用Wayland时
    sudo apt-get install libwayland-dev libwayland-egl1 libegl-dev
    
  • Fedora

    sudo dnf install mesa-libGL-devel mesa-libEGL-devel mesa-vulkan-devel glslang-devel
    # 不使用Wayland时
    sudo dnf install libXrandr-devel
    # 使用Wayland时
    sudo dnf install pkgconfig wayland-devel egl-wayland
    

可选依赖项(用于输入处理和文档生成):

# Ubuntu
sudo apt-get install libsdl2-dev doxygen
# Fedora
sudo dnf install SDL2-devel doxygen

核心依赖项

OGRE的核心依赖包括:

  • pugixml:用于XML解析
  • SDL:输入处理
  • zlib:数据压缩
  • freetype:字体渲染
  • googletest:单元测试框架

可选依赖项

根据需求可选的依赖包括:

  • DirectX SDK:Windows平台DirectX支持
  • Vulkan SDK:Vulkan渲染支持
  • Doxygen:API文档生成
  • Remotery:性能分析工具
  • SWIG:语言绑定生成
  • Assimp:模型导入
  • Wayland:Linux替代X11的显示协议
  • Rust:部分组件支持
  • Bullet:物理引擎

使用CMake配置项目

启动CMake GUI

  1. 在"Where is the source code"字段输入OGRE源码目录路径
  2. 在"Where to build the binaries"字段输入构建目录路径
  3. 点击"Configure"按钮

选择生成器

CMake会要求您选择一个生成器。根据您的平台和编译器选择合适的生成器:

  • Windows:Visual Studio生成器
  • macOS:Xcode生成器(必须使用Xcode生成器才能获得正确的SampleBrowser.app包)
  • Linux:Unix Makefiles生成器

配置选项

CMake配置完成后会显示一系列构建选项,主要分为三类:

  1. 构建组件控制(OGRE_BUILD_XXX):

    • 控制是否构建特定组件或插件
  2. 核心功能配置(OGRE_CONFIG_XXX):

    • OGRE_CONFIG_NODE_INHERIT_TRANSFORM:启用SceneNode的剪切和非均匀缩放
    • OGRE_CONFIG_ENABLE_MESHLOD:启用网格LOD级别
    • OGRE_PROFILING:添加性能分析工具
    • OGRE_ASSERT_MODE:控制断言行为
    • OGRE_RESOURCEMANGER_STRICT:启用资源管理严格模式
    • OGRE_NODELESS_POSITIONING:允许不使用节点的灯光和相机
  3. 渲染系统配置

    • OGRE_GLSUPPORT_USE_EGL:使用EGL替代GLX/WGL
    • OGRE_USE_WAYLAND:在Linux上使用Wayland替代X11

完成配置后,再次点击"Configure",然后点击"Generate"生成构建系统。

构建过程

使用IDE构建

  • Visual Studio:打开生成的OGRE.sln解决方案文件,编译BUILD_ALL目标
  • Xcode:打开生成的Xcode项目文件进行构建

命令行构建

在构建目录中执行:

cmake --build . --config Release

注意:对于多配置生成器(如Xcode和MSVC),--config必须与构建依赖项时指定的CMAKE_BUILD_TYPE匹配。

生成文档

如果安装了Doxygen,可以构建OgreDoc目标来生成API文档:

  • Visual Studio:构建OgreDoc目标
  • 命令行:
    make OgreDoc
    

安装SDK

构建完成后,需要将库文件和头文件安装到干净的位置,以便在其他项目中使用。

安装方法

  • Visual Studio:构建INSTALL目标
  • 命令行
    cmake --build . --config Release --target install
    
    make install  # 可能需要sudo权限
    

安装位置

默认安装位置:

  • Linux:/usr/local
  • Windows:构建目录下的sdk文件夹

可以通过修改CMake中的CMAKE_INSTALL_PREFIX变量来更改安装位置。

跨平台构建

Android平台

构建命令:

cmake -DCMAKE_TOOLCHAIN_FILE=path/to/android-ndk/build/cmake/android.toolchain.cmake -DANDROID_NDK=path/to/android-ndk .

这会生成:

  1. 核心OGRE库
  2. OgreJNI:Java绑定Gradle项目
  3. SampleBrowserNDK:C++示例浏览器项目

可以使用Android Studio导入这些项目,或手动构建APK:

gradle assembleRelease

WebAssembly/Emscripten

  1. 安装Emscripten SDK并设置环境变量
  2. 构建命令:
    mkdir build-wasm
    emcmake cmake .. -DCMAKE_BUILD_TYPE=Release
    emmake make
    

这会生成EmscriptenSample.html,位于${CMAKE_BINARY_DIR}/bin/目录中。

iOS平台

构建命令:

cmake -DCMAKE_TOOLCHAIN_FILE=CMake/toolchain/ios.toolchain.xcode.cmake -DIOS_PLATFORM=SIMULATOR -G Xcode .

注意:需要手动进行以下设置:

  1. 为每个示例选择有效的iOS开发者证书
  2. 将项目格式改为Xcode 3.1兼容
  3. 设置Info.plist中的Bundle Identifier以匹配开发者证书

WinRT/UWP平台

要求:

  • Windows 8.0或更高版本(推荐Windows 10)
  • Visual Studio 2015或更高版本

构建命令:

cmake.exe -G "Visual Studio 15 2017" -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0 ..

注意事项

  1. 代码和生成的解决方案必须在本地NTFS驱动器上
  2. WinStore和WinPhone 8.0应用应从缓存加载预编译的着色器
  3. 在VMware中运行WinPhone模拟器需要特殊配置

通过本指南,您应该能够成功构建OGRE引擎并在各种平台上运行。根据您的具体需求选择合适的配置选项,可以优化构建过程和最终生成的库文件。

ogre scene-oriented, flexible 3D engine (C++, Python, C#, Java) ogre 项目地址: https://gitcode.com/gh_mirrors/og/ogre

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

劳泉文Luna

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值