Skip to content

Update Magnum for ASCII PLY import and artifact-free text rendering#2355

Merged
mosra merged 1 commit intomainfrom
update-magnum32
Apr 4, 2024
Merged

Update Magnum for ASCII PLY import and artifact-free text rendering#2355
mosra merged 1 commit intomainfrom
update-magnum32

Conversation

@mosra
Copy link
Copy Markdown
Contributor

@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 0mdc, eundersander and jturner65 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
Copy Markdown
Contributor

aclegg3 commented Apr 2, 2024

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

Copy link
Copy Markdown
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
Copy Markdown
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
@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