Decouple AssImp from Scene Importer #13
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.