Skip to content

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
@zakmat zakmat closed this Aug 14, 2025
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.

2 participants