Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Magnum to latest #2521

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

Update Magnum to latest #2521

wants to merge 6 commits into from

Conversation

mosra
Copy link
Collaborator

@mosra mosra commented Dec 17, 2024

Motivation and Context

My 34th PR updating Magnum? It's been going on for a while it seems.

The changes go back to July, so here's just a condensed list of what you might be interested in:

  • Updated CMake scripts to not warn about version deprecation with CMake 3.31+.
  • Magnum now bundles CMake Find modules for 3rd party libraries on its own, meaning Habitat no longer needs to carry them around. Keeping the top-level FindMagnum etc bundled would provide a slightly better error message when a system-wide dependency is not found, but given that Habitat defaults to bundled Magnum I don't think it's worth the pain to continue to have them here.
  • Various mutable getters, especially in Containers, are now marked as constexpr on C++14. Let me know if you need any others.
  • New MeshTools::generateTrivialIndices() utility as a counterpart to all other index generation APIs. The MeshTools::generateIndices() is in turn a lot less restrictive, allowing you to throw basically any mesh at it, and it gives back an indexed one no matter what.
  • Platform::Application::Mouse*Event APIs got deprecated in favor of Pointer*Event, which is an abstraction over a mouse as well as a touch and pen input. High-level intro to pointer events is here. Unfortunately (fortunately?) GLFW doesn't support touch input at all, so for you it's just a matter of renaming and not having to care about anything else, which I did in this PR. (Not for Python though, but @jturner65 promised he'll be on that right after.)
  • The MeshTools library finally got nice high-level intro docs, and as a side effect some APIs are now slightly easier to use. (Basically it was easier to fix some APIs to behave better than to have to explain why they're shitty like that.)
  • Lots of changes and new features in the Text library, but nothing that would really affect you when using the venerable Text::Renderer2D APIs. Yet.
  • The BasisImageConverter plugin got updated to latest Basis Universal, supporting OpenCL for faster conversion, and HDR formats.
  • Various warning fixes, especially related to ARM systems and macOS.

How Has This Been Tested

🍏

Seems like an accident made in 94255f7
(September 2021).
Using SceneTools to perform a transformation and concatenation of all
meshes in the file instead. The copy back to the ancient habitat
MeshData structure is what makes this longer than it could be but I
don't want to touch that as well now.

With this, the Assimp::Assimp CMake target doesn't need to be found (or
made) anymore, it was additionally errorneously linked to the bindings as
well.
@facebook-github-bot facebook-github-bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Dec 17, 2024
The applications got an overhaul for first-class touch and pen support,
meaning the events are renamed now. Since GLFW doesn't support touch or
pen, nothing else needs to be done really.

Besides that, Magnum itself bundles the Find modules, meaning they don't
need to have copies here anymore, unless used directly such as
FindBullet.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Do not delete this pull request or issue due to inactivity.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants