Skip to content

Conversation

@adriengivry
Copy link
Member

@adriengivry adriengivry commented Apr 16, 2025

Description

Added assimp to the Overload solution, now building it from sources.

  • Since Assimp is now also being built in Debug mode, assertions are enabled when flags are invalid/incompatible.
    • To address that, a FixFlags function has been added, so that flags passed to Assimp are validated.
    • In the future, we should update the asset properties for models to avoid hitting cases where flags are invalid.
  • Updated default model flags to avoid invalid setups (i.e. OPTIMIZE_GRAPH cannot be set if PRE_TRANSFORM_VERTICES is set)
  • Assimp version is still the same (5.4.3)

Review Guidance

  • This assimp installation only includes the importers we use (OBJ & FBX). Adding support for other importers (or exporters), the necessary files can be added (c.f. https://github.com/assimp/assimp/tree/master/code/AssetLib). This keeps the dependency super lib (~5MB).
  • Unused assimp's dependencies (in the contrib/ folder) have also been removed to keep the sources lightweight. Some importers/exporters might require adding back some dependencies to the contrib/ folder.

Related Issues

Related to #459

To-Do

  • Fix invalid model parser flags assert (caught when building in debug mode, but flags were already invalid)
  • Validate functionnalities

@adriengivry adriengivry self-assigned this Apr 16, 2025
* Updated default flag to remove "OPTIMIZE_GRAPH" since it's incompatible with "PRE_TRANSFORM_VERTICES"
* Added a "FixFlags" function to remove incompatible flags before sending them to Assimp (especially useful in Debug, since incorrect flags would result in an assert in Assimp)
@adriengivry adriengivry marked this pull request as ready for review April 16, 2025 14:51
@adriengivry adriengivry added Refactoring Something that needs a refactoring Project Configuration Anything related to setuping our projects labels Apr 16, 2025
@adriengivry adriengivry merged commit a4bb104 into main Apr 29, 2025
@adriengivry adriengivry deleted the feature/assimp_update_and_sources branch April 29, 2025 23:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Project Configuration Anything related to setuping our projects Refactoring Something that needs a refactoring

Development

Successfully merging this pull request may close these issues.

3 participants