Ogre 2 support on macOS in Ignition Fortress

Hi community!

Up to Ignition Edifice, we’ve been providing support for both Ogre 1.9 and Ogre 2.1 rendering engines on macOS. macOS users can install binaries from Homebrew bottles or compile Ignition from source on Mojave (10.14) and Catalina (10.15) and they will get support for both rendering engines. These engines can be used when running Ignition Gazebo headless to generate sensor data, or when running Ignition Rendering examples, but Ignition Gazebo’s 3D graphical interface does not work yet on macOS.

For Fortress, Ignition’s next LTS scheduled to be released in September 2021, we’re planning to support a newer version of Ogre 2, 2.2 instead of 2.1. Among various updates and performance improvements, this version will bring EGL headless support, as well as heightmap terrains. The migration effort to Ogre 2.2 is being tracked on this issue.

This migration will impact macOS users because unlike version 2.1, Ogre 2.2 does not support OpenGL windowing on macOS. Instead, it supports Apple’s Metal API. The development team at Open Robotics has no plans to add Metal support to Ignition. Besides the upfront effort to get all default sensors ported to Metal shaders, this would also require macOS users to write custom shaders just for that platform. Therefore, we’d like to inform the community that Ogre 2 will not be supported on macOS on Fortress. However:

  • Ogre 2.2 will work with Ubuntu and Windows, and
  • Ogre 1.9 will still work on macOS.

We hope this doesn’t negatively impact lots of users. Please let us know if you’d like to get involved in improving macOS support on Ignition.

The Ignition Dev Team

I have managed to get a working ignition-gazebo environment on macOS / Ignition Edifice. Some recent commits to the ogre-next v2.2 branch provide OpenGL windowing support for macOS so it should also work for Ignition Fortress (although I’ve not yet tested the Ignition parts).

The ignition-gazebo server, including sensors with GPU support, is working well. The GUI is still a bit unstable, the exact cause is quite hard to pin down - but it works well enough to be able to make progress developing on macOS.

The set up is still experimental, but all the code required for macOS is committed to various forks / branches of the ogre-next and ignition repos. If there is anyone else interested in helping get this to a stable state I’d be happy to assist.

3 Likes