Decouple AssImp from Scene Importer#13
Closed
zakmat wants to merge 4 commits intostabilization/25050from
Closed
Conversation
Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai>
998eb40 to
4aa704f
Compare
* 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 <mateusz.zak@robotec.ai>
4aa704f to
4d1d783
Compare
Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.