Package Details: gz-rendering8 8.2.2-4

Git Clone URL: https://aur.archlinux.org/gz-rendering8.git (read-only, click to copy)
Package Base: gz-rendering8
Description: C++ library designed to provide an abstraction for different rendering engines.
Upstream URL: https://github.com/gazebosim/gz-rendering
Licenses: Apache-2.0
Provides: gz-rendering
Submitter: oysstu
Maintainer: oysstu
Last Packager: oysstu
Votes: 0
Popularity: 0.000000
First Submitted: 2023-10-09 19:44 (UTC)
Last Updated: 2025-05-20 07:12 (UTC)

Dependencies (13)

Required by (12)

Sources (2)

Latest Comments

oysstu commented on 2025-05-20 07:11 (UTC) (edited on 2025-05-20 10:17 (UTC) by oysstu)

@huyz Ah yes, I forgot to check if the rendering plugin was built. Support has been added in gz-cmake4 to locate ogre-next 3.x, but gz-rendering does not support it yet. There is a WIP PR here, but it's very preliminary: https://github.com/gazebosim/gz-rendering/pull/943

I'm maintaining patches for ogre-next2 2.3.3, and I'll target that instead.

huyz commented on 2025-05-20 01:45 (UTC)

Also, if one wants to use ogre1.9 or optix for rendering engine plugin, they need to be installed during build time, otherwise gz-rendering8 won't build the corresponding rendering engine plugin.

huyz commented on 2025-05-20 01:43 (UTC)

Unfortunately, the usage of -DUSE_UNOFFICIAL_OGRE_VERSIONS=ON does not work for ogre-next version 3.

Lookup the CMakeLists.txt of gz-rendering8, this variable only used at line 94 ( after finding ogre-1.9 ). Finding ogre-next 2.3.1 is at line 116, and it won't be affected by this variable.

The logic of finding ogre-next is at the cmake/FindGzOGRE2.cmake of gz-cmake3. Lookup this file, at line 68 it first check whether the desired ogre-next major version is greater or equal to 3, so therefore you can't just replace 2.3.1 with 3.0.0 at the CMakeLists.txt of gz-rendering8 to let it use ogre-next3; then at line 283 it checks whether the found major version is equal to the desired major version. So overall gz-rendering8 won't find ogre-next if its version is 3, and will not build the ogre2 rendering engine plugin.

Moreover, even if I change cmake/FindGzOGRE2.cmake to force allow it to use ogre-next3, it failed to build then:

/tmp/gz-rendering/ogre2/src/terrain/Terra/src/Hlms/OgreHlmsTerraDatablock.cpp:56:86: error: no matching function for call to ‘alignToNextMultiple(const size_t&, int)’
   56 |     const size_t HlmsTerraDatablock::MaterialSizeInGpuAligned   = alignToNextMultiple(
      |                                                                   ~~~~~~~~~~~~~~~~~~~^
   57 |                                                                     HlmsTerraDatablock::MaterialSizeInGpu,
      |                                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   58 |                                                                     4 * 4 );
      |                                                                     ~~~~~~~ 

So I think we should pin ogre-next to ogre-next2 until upstream supports ogre-next3.