Skip to content

Decouple AssImp from Scene Importer #13

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

Draft
wants to merge 2 commits into
base: stabilization/25050
Choose a base branch
from

Conversation

zakmat
Copy link
Member

@zakmat zakmat commented May 16, 2025

What does this PR do?

We would like to use a different library for scene asset import yet still benefit from all offerings of the Scene API pipeline.
This PR reviews the interface between Scene API and AssImp and fixes the abstraction where it was leaking or non-existent.
It is an enabler for addition of different scene import libraries as Gems. By itself no functional changes were intended: all existing assets should be imported as before.

It removes references to AssImp specific code from the generic part of the SceneBuilder/SceneImporter.
It enhances SceneWrapperBase with additional methods that provide clear boundaries.
It refactors AssImp SDKWrapper and AssimpImportContext to be provided by AssimpImportContextProvider factory.
It uses Abstract Factory Pattern to decouple AssImp specific ImportContext from SceneImporter
It implements an ImportContextRegistry Interface for registration of additional ImportContextProviders

Note this target stabilization for convenience. Will be rebased against development after internal review

How was this PR tested?

Please describe any testing performed.

@zakmat zakmat changed the base branch from development to stabilization/25050 May 16, 2025 15:05
@zakmat zakmat force-pushed the mzak/scene_sdk_decouple branch 2 times, most recently from 998eb40 to 4aa704f Compare May 16, 2025 15:26
* use AbstractFactory pattern to deliver family of classes specific for chosen Importer
* use existing AssImp Importer as a default one if no specializations available

Signed-off-by: Mateusz Żak <[email protected]>
@zakmat zakmat force-pushed the mzak/scene_sdk_decouple branch from 4aa704f to 4d1d783 Compare May 16, 2025 15:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant