First phase of refactoring atom thumbnail and preview rendering into a reusable system that can be used for additional thumbnail types and capturing preview images for other purposes. Our

• Removed classes for initialization and teardown steps of the renderer
• Moved initialization and teardown logic back to the renderer constructor and destructor
• Combined thumbnail render context and data with the main renderer class
• Made all render data private and instead implemented a public interface
• Remaining steps were simplified and updated to work directly with the new public interface
• Changed the waiting for assets to load state to poll asset status on tick because we were timing out there anyway
• Unified redundant camera configuration variables and made sure they were used consistently when initializing and updating the scene and camera
• Changed interface for custom feature processor request API to build a set instead of returning a vector
• Moved initialization of the thumbnail renderer and preview factory after asset catalog has loaded

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
This commit is contained in:
Guthrie Adams
2021-10-07 11:58:01 -05:00
parent d1947c68c9
commit 3c50fdc671
19 changed files with 466 additions and 737 deletions
@@ -28,6 +28,7 @@ namespace AZ
, public AzToolsFramework::EditorLevelNotificationBus::Handler
, public AzToolsFramework::SliceEditorEntityOwnershipServiceNotificationBus::Handler
, public AzToolsFramework::AssetBrowser::PreviewerRequestBus::Handler
, public AzFramework::AssetCatalogEventBus::Handler
, public AzFramework::ApplicationLifecycleEvents::Bus::Handler
{
public:
@@ -56,6 +57,9 @@ namespace AZ
void OnSliceInstantiated(const AZ::Data::AssetId&, AZ::SliceComponent::SliceInstanceAddress&, const AzFramework::SliceInstantiationTicket&) override;
void OnSliceInstantiationFailed(const AZ::Data::AssetId&, const AzFramework::SliceInstantiationTicket&) override;
// AzFramework::AssetCatalogEventBus::Handler overrides ...
void OnCatalogLoaded(const char* catalogFile) override;
// AzToolsFramework::AssetBrowser::PreviewerRequestBus::Handler overrides...
const AzToolsFramework::AssetBrowser::PreviewerFactory* GetPreviewerFactory(const AzToolsFramework::AssetBrowser::AssetBrowserEntry* entry) const override;