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 for ASCII PLY import and artifact-free text rendering #2355

Merged
merged 1 commit into from
Apr 4, 2024

Conversation

mosra
Copy link
Collaborator

@mosra mosra commented Apr 2, 2024

Another month worth of Magnum updates, this time containing two important usability features:

Besides that, the following changes are worth mentioning:

  • A new Debug::hex modifier to conveniently print integer values as hexadecimal. As a drive-by optimization, instances of the Debug class now occupy 16.67% less memory.
  • The SceneGraph library is now capable of rendering more than 65k objects at once. The original limitation was due to a 16-bit type used internally, however there's enough free padding bytes to make it 32-bit without enlarging size of scene graph objects in memory.
  • Containers::StaticArray is now trivially copyable and also usable in constexpr contexts. In practice that means better optimization opportunities for the compiler, IIRC Habitat isn't making any extensive use of this type anywhere.
  • The GL::Mesh could draw from vertex buffers larger than 4 GB before, now it can draw from index buffers larger than 4 GB as well. I've already hit the 4 GB vertex buffer limit with batch renderer before, it's just a matter of time when it happens with indices too, so better be prepared.
  • The Magnum CMake Find modules were updated to properly support the case where each project is installed in a different prefix, unblocking one Habitat use case: Consider switching from the legacy Find*.cmake modules to install(TARGETS ... EXPORT ...) mosra/magnum-integration#105
  • The StbImageImporter now uses NEON on ARM machines, such as the new Macs, which may cause image import to be slightly faster.
  • In addition to a WebPImporter there's now a WebPImageConverter as well, together with support for the WebP format in both the glTF importer and exporter. Mentioning just in case you'd have use for a format that's both lossless and lossy and can achieve a better compression ratio than PNG or JPEG. The prebuilt tool binaries have this plugin enabled now as well.

(Sorry, I deleted the PR template by accident. Tests are 🟢 on my end, that mypy failure wasn't me.)

Also mentioning @aclegg3 -- can't add you as a reviewer for some reason.

@mosra mosra requested review from jturner65, eundersander and 0mdc April 2, 2024 17:48
@facebook-github-bot facebook-github-bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Apr 2, 2024
@0mdc 0mdc requested a review from aclegg3 April 2, 2024 17:54
@aclegg3
Copy link
Contributor

aclegg3 commented Apr 2, 2024

Thanks @mosra, I'm working on the CI issue here: #2356

Copy link
Contributor

@aclegg3 aclegg3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests pass, so assuming all the build changes are good. :)
Thanks, mosra!
Also, CI lint issue should be resolved on main.

@mosra mosra force-pushed the update-magnum32 branch from aff99a1 to 60bd20c Compare April 3, 2024 08:14
Copy link
Contributor

@0mdc 0mdc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@mosra mosra merged commit f32ff7c into main Apr 4, 2024
10 checks passed
@mosra mosra deleted the update-magnum32 branch April 4, 2024 09:36
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.

5 participants