Compile again after renaming and moving files
Cleaned up namespaces Renamed a couple of functions and added comments Signed-off-by: Guthrie Adams <guthadam@amazon.com>
This commit is contained in:
+1
-1
@@ -24,6 +24,6 @@ namespace AtomToolsFramework
|
||||
virtual bool IsReady() const = 0;
|
||||
virtual bool IsError() const = 0;
|
||||
virtual void ReportErrors() = 0;
|
||||
virtual void UpdateScene() = 0;
|
||||
virtual void Update() = 0;
|
||||
};
|
||||
} // namespace AtomToolsFramework
|
||||
|
||||
+6
-6
@@ -24,7 +24,7 @@ class QPixmap;
|
||||
|
||||
namespace AtomToolsFramework
|
||||
{
|
||||
//! Provides custom rendering of preview images
|
||||
//! Processes requests for setting up content that gets rendered to a texture and captured to an image
|
||||
class PreviewRenderer final : public PreviewerFeatureProcessorProviderBus::Handler
|
||||
{
|
||||
public:
|
||||
@@ -58,15 +58,15 @@ namespace AtomToolsFramework
|
||||
void SetState(State state);
|
||||
State GetState() const;
|
||||
|
||||
void SelectCaptureRequest();
|
||||
void ProcessCaptureRequests();
|
||||
void CancelCaptureRequest();
|
||||
void CompleteCaptureRequest();
|
||||
|
||||
void LoadAssets();
|
||||
void UpdateLoadAssets();
|
||||
void CancelLoadAssets();
|
||||
void LoadContent();
|
||||
void UpdateLoadContent();
|
||||
void CancelLoadContent();
|
||||
|
||||
void UpdateScene();
|
||||
void PoseContent();
|
||||
|
||||
bool StartCapture();
|
||||
void EndCapture();
|
||||
|
||||
@@ -142,7 +142,7 @@ namespace AtomToolsFramework
|
||||
return m_currentState;
|
||||
}
|
||||
|
||||
void PreviewRenderer::SelectCaptureRequest()
|
||||
void PreviewRenderer::ProcessCaptureRequests()
|
||||
{
|
||||
if (!m_captureRequestQueue.empty())
|
||||
{
|
||||
@@ -165,12 +165,12 @@ namespace AtomToolsFramework
|
||||
SetState(PreviewRenderer::State::IdleState);
|
||||
}
|
||||
|
||||
void PreviewRenderer::LoadAssets()
|
||||
void PreviewRenderer::LoadContent()
|
||||
{
|
||||
m_currentCaptureRequest.m_content->Load();
|
||||
}
|
||||
|
||||
void PreviewRenderer::UpdateLoadAssets()
|
||||
void PreviewRenderer::UpdateLoadContent()
|
||||
{
|
||||
if (m_currentCaptureRequest.m_content->IsReady())
|
||||
{
|
||||
@@ -180,20 +180,20 @@ namespace AtomToolsFramework
|
||||
|
||||
if (m_currentCaptureRequest.m_content->IsError())
|
||||
{
|
||||
CancelLoadAssets();
|
||||
CancelLoadContent();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void PreviewRenderer::CancelLoadAssets()
|
||||
void PreviewRenderer::CancelLoadContent()
|
||||
{
|
||||
m_currentCaptureRequest.m_content->ReportErrors();
|
||||
CancelCaptureRequest();
|
||||
}
|
||||
|
||||
void PreviewRenderer::UpdateScene()
|
||||
void PreviewRenderer::PoseContent()
|
||||
{
|
||||
m_currentCaptureRequest.m_content->UpdateScene();
|
||||
m_currentCaptureRequest.m_content->Update();
|
||||
}
|
||||
|
||||
bool PreviewRenderer::StartCapture()
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ namespace AtomToolsFramework
|
||||
void PreviewRendererCaptureState::Start()
|
||||
{
|
||||
m_ticksToCapture = 1;
|
||||
m_renderer->UpdateScene();
|
||||
m_renderer->PoseContent();
|
||||
AZ::TickBus::Handler::BusConnect();
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -28,6 +28,6 @@ namespace AtomToolsFramework
|
||||
|
||||
void PreviewRendererIdleState::OnTick([[maybe_unused]] float deltaTime, [[maybe_unused]] AZ::ScriptTimePoint time)
|
||||
{
|
||||
m_renderer->SelectCaptureRequest();
|
||||
m_renderer->ProcessCaptureRequests();
|
||||
}
|
||||
} // namespace AtomToolsFramework
|
||||
|
||||
+3
-3
@@ -18,7 +18,7 @@ namespace AtomToolsFramework
|
||||
|
||||
void PreviewRendererLoadState::Start()
|
||||
{
|
||||
m_renderer->LoadAssets();
|
||||
m_renderer->LoadContent();
|
||||
m_timeRemainingS = TimeOutS;
|
||||
AZ::TickBus::Handler::BusConnect();
|
||||
}
|
||||
@@ -33,11 +33,11 @@ namespace AtomToolsFramework
|
||||
m_timeRemainingS -= deltaTime;
|
||||
if (m_timeRemainingS > 0.0f)
|
||||
{
|
||||
m_renderer->UpdateLoadAssets();
|
||||
m_renderer->UpdateLoadContent();
|
||||
}
|
||||
else
|
||||
{
|
||||
m_renderer->CancelLoadAssets();
|
||||
m_renderer->CancelLoadContent();
|
||||
}
|
||||
}
|
||||
} // namespace AtomToolsFramework
|
||||
|
||||
+5
-5
@@ -15,7 +15,7 @@
|
||||
#include <AzToolsFramework/API/ToolsApplicationAPI.h>
|
||||
#include <AzToolsFramework/Thumbnails/ThumbnailContext.h>
|
||||
#include <EditorCommonFeaturesSystemComponent.h>
|
||||
#include <Previewer/CommonThumbnail.h>
|
||||
#include <SharedPreview/SharedThumbnail.h>
|
||||
#include <SkinnedMesh/SkinnedMeshDebugDisplay.h>
|
||||
|
||||
#include <IEditor.h>
|
||||
@@ -216,11 +216,11 @@ namespace AZ
|
||||
using namespace LyIntegration;
|
||||
|
||||
ThumbnailerRequestsBus::Broadcast(
|
||||
&ThumbnailerRequests::RegisterThumbnailProvider, MAKE_TCACHE(Thumbnails::CommonThumbnailCache),
|
||||
&ThumbnailerRequests::RegisterThumbnailProvider, MAKE_TCACHE(SharedThumbnailCache),
|
||||
ThumbnailContext::DefaultContext);
|
||||
|
||||
m_renderer = AZStd::make_unique<AZ::LyIntegration::Thumbnails::CommonThumbnailRenderer>();
|
||||
m_previewerFactory = AZStd::make_unique<LyIntegration::CommonPreviewerFactory>();
|
||||
m_renderer = AZStd::make_unique<AZ::LyIntegration::SharedThumbnailRenderer>();
|
||||
m_previewerFactory = AZStd::make_unique<LyIntegration::SharedPreviewerFactory>();
|
||||
}
|
||||
|
||||
void EditorCommonFeaturesSystemComponent::TeardownThumbnails()
|
||||
@@ -229,7 +229,7 @@ namespace AZ
|
||||
using namespace LyIntegration;
|
||||
|
||||
ThumbnailerRequestsBus::Broadcast(
|
||||
&ThumbnailerRequests::UnregisterThumbnailProvider, Thumbnails::CommonThumbnailCache::ProviderName,
|
||||
&ThumbnailerRequests::UnregisterThumbnailProvider, SharedThumbnailCache::ProviderName,
|
||||
ThumbnailContext::DefaultContext);
|
||||
|
||||
m_renderer.reset();
|
||||
|
||||
+4
-4
@@ -13,8 +13,8 @@
|
||||
#include <AzToolsFramework/API/EditorLevelNotificationBus.h>
|
||||
#include <AzToolsFramework/AssetBrowser/Previewer/PreviewerBus.h>
|
||||
#include <AzToolsFramework/Entity/SliceEditorEntityOwnershipServiceBus.h>
|
||||
#include <Previewer/CommonPreviewerFactory.h>
|
||||
#include <Previewer/CommonThumbnailRenderer.h>
|
||||
#include <SharedPreview/SharedPreviewerFactory.h>
|
||||
#include <SharedPreview/SharedThumbnailRenderer.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
@@ -78,8 +78,8 @@ namespace AZ
|
||||
AZStd::string m_atomLevelDefaultAssetPath{ "LevelAssets/default.slice" };
|
||||
float m_envProbeHeight{ 200.0f };
|
||||
|
||||
AZStd::unique_ptr<AZ::LyIntegration::Thumbnails::CommonThumbnailRenderer> m_renderer;
|
||||
AZStd::unique_ptr<LyIntegration::CommonPreviewerFactory> m_previewerFactory;
|
||||
AZStd::unique_ptr<AZ::LyIntegration::SharedThumbnailRenderer> m_renderer;
|
||||
AZStd::unique_ptr<LyIntegration::SharedPreviewerFactory> m_previewerFactory;
|
||||
};
|
||||
} // namespace Render
|
||||
} // namespace AZ
|
||||
|
||||
+2
-2
@@ -22,7 +22,7 @@
|
||||
#include <Editor/LyViewPaneNames.h>
|
||||
#include <Material/EditorMaterialComponentInspector.h>
|
||||
#include <Material/EditorMaterialSystemComponent.h>
|
||||
#include <Previewer/CommonPreviewContent.h>
|
||||
#include <SharedPreview/SharedPreviewContent.h>
|
||||
|
||||
// Disables warning messages triggered by the Qt library
|
||||
// 4251: class needs to have dll-interface to be used by clients of class
|
||||
@@ -176,7 +176,7 @@ namespace AZ
|
||||
|
||||
m_previewRenderer->AddCaptureRequest(
|
||||
{ 128,
|
||||
AZStd::make_shared<AZ::LyIntegration::CommonPreviewContent>(
|
||||
AZStd::make_shared<AZ::LyIntegration::SharedPreviewContent>(
|
||||
m_previewRenderer->GetScene(), m_previewRenderer->GetView(), m_previewRenderer->GetEntityContextId(),
|
||||
AZ::RPI::AssetUtils::GetAssetIdForProductPath(DefaultModelPath), materialAssetId,
|
||||
AZ::RPI::AssetUtils::GetAssetIdForProductPath(DefaultLightingPresetPath), propertyOverrides),
|
||||
|
||||
+14
-14
@@ -23,13 +23,13 @@
|
||||
#include <AzCore/Math/Transform.h>
|
||||
#include <AzFramework/Components/TransformComponent.h>
|
||||
#include <AzFramework/Entity/EntityContextBus.h>
|
||||
#include <Previewer/CommonPreviewContent.h>
|
||||
#include <SharedPreview/SharedPreviewContent.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace LyIntegration
|
||||
{
|
||||
CommonPreviewContent::CommonPreviewContent(
|
||||
SharedPreviewContent::SharedPreviewContent(
|
||||
RPI::ScenePtr scene,
|
||||
RPI::ViewPtr view,
|
||||
AZ::Uuid entityContextId,
|
||||
@@ -56,7 +56,7 @@ namespace AZ
|
||||
m_lightingPresetAsset.Create(lightingPresetAssetId);
|
||||
}
|
||||
|
||||
CommonPreviewContent::~CommonPreviewContent()
|
||||
SharedPreviewContent::~SharedPreviewContent()
|
||||
{
|
||||
if (m_modelEntity)
|
||||
{
|
||||
@@ -66,46 +66,46 @@ namespace AZ
|
||||
}
|
||||
}
|
||||
|
||||
void CommonPreviewContent::Load()
|
||||
void SharedPreviewContent::Load()
|
||||
{
|
||||
m_modelAsset.QueueLoad();
|
||||
m_materialAsset.QueueLoad();
|
||||
m_lightingPresetAsset.QueueLoad();
|
||||
}
|
||||
|
||||
bool CommonPreviewContent::IsReady() const
|
||||
bool SharedPreviewContent::IsReady() const
|
||||
{
|
||||
return (!m_modelAsset.GetId().IsValid() || m_modelAsset.IsReady()) &&
|
||||
(!m_materialAsset.GetId().IsValid() || m_materialAsset.IsReady()) &&
|
||||
(!m_lightingPresetAsset.GetId().IsValid() || m_lightingPresetAsset.IsReady());
|
||||
}
|
||||
|
||||
bool CommonPreviewContent::IsError() const
|
||||
bool SharedPreviewContent::IsError() const
|
||||
{
|
||||
return m_modelAsset.IsError() || m_materialAsset.IsError() || m_lightingPresetAsset.IsError();
|
||||
}
|
||||
|
||||
void CommonPreviewContent::ReportErrors()
|
||||
void SharedPreviewContent::ReportErrors()
|
||||
{
|
||||
AZ_Warning(
|
||||
"CommonPreviewContent", !m_modelAsset.GetId().IsValid() || m_modelAsset.IsReady(), "Asset failed to load in time: %s",
|
||||
"SharedPreviewContent", !m_modelAsset.GetId().IsValid() || m_modelAsset.IsReady(), "Asset failed to load in time: %s",
|
||||
m_modelAsset.ToString<AZStd::string>().c_str());
|
||||
AZ_Warning(
|
||||
"CommonPreviewContent", !m_materialAsset.GetId().IsValid() || m_materialAsset.IsReady(), "Asset failed to load in time: %s",
|
||||
"SharedPreviewContent", !m_materialAsset.GetId().IsValid() || m_materialAsset.IsReady(), "Asset failed to load in time: %s",
|
||||
m_materialAsset.ToString<AZStd::string>().c_str());
|
||||
AZ_Warning(
|
||||
"CommonPreviewContent", !m_lightingPresetAsset.GetId().IsValid() || m_lightingPresetAsset.IsReady(),
|
||||
"SharedPreviewContent", !m_lightingPresetAsset.GetId().IsValid() || m_lightingPresetAsset.IsReady(),
|
||||
"Asset failed to load in time: %s", m_lightingPresetAsset.ToString<AZStd::string>().c_str());
|
||||
}
|
||||
|
||||
void CommonPreviewContent::UpdateScene()
|
||||
void SharedPreviewContent::Update()
|
||||
{
|
||||
UpdateModel();
|
||||
UpdateLighting();
|
||||
UpdateCamera();
|
||||
}
|
||||
|
||||
void CommonPreviewContent::UpdateModel()
|
||||
void SharedPreviewContent::UpdateModel()
|
||||
{
|
||||
Render::MeshComponentRequestBus::Event(
|
||||
m_modelEntity->GetId(), &Render::MeshComponentRequestBus::Events::SetModelAsset, m_modelAsset);
|
||||
@@ -119,7 +119,7 @@ namespace AZ
|
||||
Render::DefaultMaterialAssignmentId, m_materialPropertyOverrides);
|
||||
}
|
||||
|
||||
void CommonPreviewContent::UpdateLighting()
|
||||
void SharedPreviewContent::UpdateLighting()
|
||||
{
|
||||
if (m_lightingPresetAsset.IsReady())
|
||||
{
|
||||
@@ -152,7 +152,7 @@ namespace AZ
|
||||
}
|
||||
}
|
||||
|
||||
void CommonPreviewContent::UpdateCamera()
|
||||
void SharedPreviewContent::UpdateCamera()
|
||||
{
|
||||
// Get bounding sphere of the model asset and estimate how far the camera needs to be see all of it
|
||||
Vector3 center = {};
|
||||
|
||||
+6
-6
@@ -19,13 +19,13 @@ namespace AZ
|
||||
{
|
||||
namespace LyIntegration
|
||||
{
|
||||
//! Provides custom rendering of material and model previews
|
||||
class CommonPreviewContent final : public AtomToolsFramework::PreviewContent
|
||||
//! Creates a simple scene used for most previews and thumbnails
|
||||
class SharedPreviewContent final : public AtomToolsFramework::PreviewContent
|
||||
{
|
||||
public:
|
||||
AZ_CLASS_ALLOCATOR(CommonPreviewContent, AZ::SystemAllocator, 0);
|
||||
AZ_CLASS_ALLOCATOR(SharedPreviewContent, AZ::SystemAllocator, 0);
|
||||
|
||||
CommonPreviewContent(
|
||||
SharedPreviewContent(
|
||||
RPI::ScenePtr scene,
|
||||
RPI::ViewPtr view,
|
||||
AZ::Uuid entityContextId,
|
||||
@@ -34,13 +34,13 @@ namespace AZ
|
||||
const Data::AssetId& lightingPresetAssetId,
|
||||
const Render::MaterialPropertyOverrideMap& materialPropertyOverrides);
|
||||
|
||||
~CommonPreviewContent() override;
|
||||
~SharedPreviewContent() override;
|
||||
|
||||
void Load() override;
|
||||
bool IsReady() const override;
|
||||
bool IsError() const override;
|
||||
void ReportErrors() override;
|
||||
void UpdateScene() override;
|
||||
void Update() override;
|
||||
|
||||
private:
|
||||
void UpdateModel();
|
||||
|
||||
+13
-13
@@ -12,14 +12,14 @@
|
||||
#include <AzToolsFramework/AssetBrowser/AssetBrowserEntry.h>
|
||||
#include <AzToolsFramework/Thumbnails/Thumbnail.h>
|
||||
#include <AzToolsFramework/Thumbnails/ThumbnailContext.h>
|
||||
#include <Previewer/CommonPreviewer.h>
|
||||
#include <Previewer/CommonThumbnailUtils.h>
|
||||
#include <SharedPreview/SharedPreviewer.h>
|
||||
#include <SharedPreview/SharedThumbnailUtils.h>
|
||||
|
||||
// Disables warning messages triggered by the Qt library
|
||||
// 4251: class needs to have dll-interface to be used by clients of class
|
||||
// 4800: forcing value to bool 'true' or 'false' (performance warning)
|
||||
AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option")
|
||||
#include <Previewer/ui_CommonPreviewer.h>
|
||||
#include <SharedPreview/ui_SharedPreviewer.h>
|
||||
#include <QResizeEvent>
|
||||
#include <QString>
|
||||
AZ_POP_DISABLE_WARNING
|
||||
@@ -30,22 +30,22 @@ namespace AZ
|
||||
{
|
||||
static constexpr int CharWidth = 6;
|
||||
|
||||
CommonPreviewer::CommonPreviewer(QWidget* parent)
|
||||
SharedPreviewer::SharedPreviewer(QWidget* parent)
|
||||
: Previewer(parent)
|
||||
, m_ui(new Ui::CommonPreviewerClass())
|
||||
, m_ui(new Ui::SharedPreviewerClass())
|
||||
{
|
||||
m_ui->setupUi(this);
|
||||
}
|
||||
|
||||
CommonPreviewer::~CommonPreviewer()
|
||||
SharedPreviewer::~SharedPreviewer()
|
||||
{
|
||||
}
|
||||
|
||||
void CommonPreviewer::Clear() const
|
||||
void SharedPreviewer::Clear() const
|
||||
{
|
||||
}
|
||||
|
||||
void CommonPreviewer::Display(const AzToolsFramework::AssetBrowser::AssetBrowserEntry* entry)
|
||||
void SharedPreviewer::Display(const AzToolsFramework::AssetBrowser::AssetBrowserEntry* entry)
|
||||
{
|
||||
using namespace AzToolsFramework::AssetBrowser;
|
||||
using namespace AzToolsFramework::Thumbnailer;
|
||||
@@ -56,23 +56,23 @@ namespace AZ
|
||||
UpdateFileInfo();
|
||||
}
|
||||
|
||||
const QString& CommonPreviewer::GetName() const
|
||||
const QString& SharedPreviewer::GetName() const
|
||||
{
|
||||
return m_name;
|
||||
}
|
||||
|
||||
void CommonPreviewer::resizeEvent([[maybe_unused]] QResizeEvent* event)
|
||||
void SharedPreviewer::resizeEvent([[maybe_unused]] QResizeEvent* event)
|
||||
{
|
||||
m_ui->m_previewWidget->setMaximumHeight(m_ui->m_previewWidget->width());
|
||||
|
||||
UpdateFileInfo();
|
||||
}
|
||||
|
||||
void CommonPreviewer::UpdateFileInfo() const
|
||||
void SharedPreviewer::UpdateFileInfo() const
|
||||
{
|
||||
m_ui->m_fileInfoLabel->setText(Thumbnails::WordWrap(m_fileInfo, m_ui->m_fileInfoLabel->width() / CharWidth));
|
||||
m_ui->m_fileInfoLabel->setText(SharedPreviewUtils::WordWrap(m_fileInfo, m_ui->m_fileInfoLabel->width() / CharWidth));
|
||||
}
|
||||
} // namespace LyIntegration
|
||||
} // namespace AZ
|
||||
|
||||
#include <Previewer/moc_CommonPreviewer.cpp>
|
||||
#include <SharedPreview/moc_SharedPreviewer.cpp>
|
||||
|
||||
@@ -21,7 +21,7 @@ AZ_POP_DISABLE_WARNING
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class CommonPreviewerClass;
|
||||
class SharedPreviewerClass;
|
||||
}
|
||||
|
||||
namespace AzToolsFramework
|
||||
@@ -40,14 +40,14 @@ namespace AZ
|
||||
{
|
||||
namespace LyIntegration
|
||||
{
|
||||
class CommonPreviewer final : public AzToolsFramework::AssetBrowser::Previewer
|
||||
class SharedPreviewer final : public AzToolsFramework::AssetBrowser::Previewer
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
AZ_CLASS_ALLOCATOR(CommonPreviewer, AZ::SystemAllocator, 0);
|
||||
AZ_CLASS_ALLOCATOR(SharedPreviewer, AZ::SystemAllocator, 0);
|
||||
|
||||
explicit CommonPreviewer(QWidget* parent = nullptr);
|
||||
~CommonPreviewer();
|
||||
explicit SharedPreviewer(QWidget* parent = nullptr);
|
||||
~SharedPreviewer();
|
||||
|
||||
// AzToolsFramework::AssetBrowser::Previewer overrides...
|
||||
void Clear() const override;
|
||||
@@ -60,9 +60,9 @@ namespace AZ
|
||||
private:
|
||||
void UpdateFileInfo() const;
|
||||
|
||||
QScopedPointer<Ui::CommonPreviewerClass> m_ui;
|
||||
QScopedPointer<Ui::SharedPreviewerClass> m_ui;
|
||||
QString m_fileInfo;
|
||||
QString m_name = "CommonPreviewer";
|
||||
QString m_name = "SharedPreviewer";
|
||||
};
|
||||
} // namespace LyIntegration
|
||||
} // namespace AZ
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>CommonPreviewerClass</class>
|
||||
<widget class="QWidget" name="CommonPreviewerClass">
|
||||
<class>SharedPreviewerClass</class>
|
||||
<widget class="QWidget" name="SharedPreviewerClass">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
|
||||
+8
-8
@@ -11,25 +11,25 @@
|
||||
#include <Atom/RPI.Reflect/Model/ModelAsset.h>
|
||||
#include <Atom/RPI.Reflect/System/AnyAsset.h>
|
||||
#include <AzToolsFramework/AssetBrowser/AssetBrowserEntry.h>
|
||||
#include <Previewer/CommonPreviewer.h>
|
||||
#include <Previewer/CommonPreviewerFactory.h>
|
||||
#include <Previewer/CommonThumbnailUtils.h>
|
||||
#include <SharedPreview/SharedPreviewer.h>
|
||||
#include <SharedPreview/SharedPreviewerFactory.h>
|
||||
#include <SharedPreview/SharedThumbnailUtils.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace LyIntegration
|
||||
{
|
||||
AzToolsFramework::AssetBrowser::Previewer* CommonPreviewerFactory::CreatePreviewer(QWidget* parent) const
|
||||
AzToolsFramework::AssetBrowser::Previewer* SharedPreviewerFactory::CreatePreviewer(QWidget* parent) const
|
||||
{
|
||||
return new CommonPreviewer(parent);
|
||||
return new SharedPreviewer(parent);
|
||||
}
|
||||
|
||||
bool CommonPreviewerFactory::IsEntrySupported(const AzToolsFramework::AssetBrowser::AssetBrowserEntry* entry) const
|
||||
bool SharedPreviewerFactory::IsEntrySupported(const AzToolsFramework::AssetBrowser::AssetBrowserEntry* entry) const
|
||||
{
|
||||
return Thumbnails::IsSupportedThumbnail(entry->GetThumbnailKey());
|
||||
return SharedPreviewUtils::IsSupportedAssetType(entry->GetThumbnailKey());
|
||||
}
|
||||
|
||||
const QString& CommonPreviewerFactory::GetName() const
|
||||
const QString& SharedPreviewerFactory::GetName() const
|
||||
{
|
||||
return m_name;
|
||||
}
|
||||
|
||||
+5
-5
@@ -19,13 +19,13 @@ namespace AZ
|
||||
{
|
||||
namespace LyIntegration
|
||||
{
|
||||
class CommonPreviewerFactory final : public AzToolsFramework::AssetBrowser::PreviewerFactory
|
||||
class SharedPreviewerFactory final : public AzToolsFramework::AssetBrowser::PreviewerFactory
|
||||
{
|
||||
public:
|
||||
AZ_CLASS_ALLOCATOR(CommonPreviewerFactory, AZ::SystemAllocator, 0);
|
||||
AZ_CLASS_ALLOCATOR(SharedPreviewerFactory, AZ::SystemAllocator, 0);
|
||||
|
||||
CommonPreviewerFactory() = default;
|
||||
~CommonPreviewerFactory() = default;
|
||||
SharedPreviewerFactory() = default;
|
||||
~SharedPreviewerFactory() = default;
|
||||
|
||||
// AzToolsFramework::AssetBrowser::PreviewerFactory overrides...
|
||||
AzToolsFramework::AssetBrowser::Previewer* CreatePreviewer(QWidget* parent = nullptr) const override;
|
||||
@@ -33,7 +33,7 @@ namespace AZ
|
||||
const QString& GetName() const override;
|
||||
|
||||
private:
|
||||
QString m_name = "CommonPreviewer";
|
||||
QString m_name = "SharedPreviewer";
|
||||
};
|
||||
} // namespace LyIntegration
|
||||
} // namespace AZ
|
||||
|
||||
+76
-80
@@ -10,104 +10,100 @@
|
||||
#include <Atom/RPI.Reflect/Model/ModelAsset.h>
|
||||
#include <Atom/RPI.Reflect/System/AnyAsset.h>
|
||||
#include <AzToolsFramework/API/EditorAssetSystemAPI.h>
|
||||
#include <Previewer/CommonThumbnail.h>
|
||||
#include <Previewer/CommonThumbnailUtils.h>
|
||||
#include <SharedPreview/SharedThumbnail.h>
|
||||
#include <SharedPreview/SharedThumbnailUtils.h>
|
||||
#include <QtConcurrent/QtConcurrent>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace LyIntegration
|
||||
{
|
||||
namespace Thumbnails
|
||||
static constexpr const int SharedThumbnailSize = 256;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// SharedThumbnail
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
SharedThumbnail::SharedThumbnail(AzToolsFramework::Thumbnailer::SharedThumbnailKey key)
|
||||
: Thumbnail(key)
|
||||
{
|
||||
static constexpr const int CommonThumbnailSize = 256;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// CommonThumbnail
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
CommonThumbnail::CommonThumbnail(AzToolsFramework::Thumbnailer::SharedThumbnailKey key)
|
||||
: Thumbnail(key)
|
||||
for (const AZ::Uuid& typeId : SharedPreviewUtils::GetSupportedAssetTypes())
|
||||
{
|
||||
for (const AZ::Uuid& typeId : GetSupportedThumbnailAssetTypes())
|
||||
const AZ::Data::AssetId& assetId = SharedPreviewUtils::GetAssetId(key, typeId);
|
||||
if (assetId.IsValid())
|
||||
{
|
||||
const AZ::Data::AssetId& assetId = GetAssetId(key, typeId);
|
||||
if (assetId.IsValid())
|
||||
{
|
||||
m_assetId = assetId;
|
||||
m_typeId = typeId;
|
||||
AzToolsFramework::Thumbnailer::ThumbnailerRendererNotificationBus::Handler::BusConnect(key);
|
||||
AzFramework::AssetCatalogEventBus::Handler::BusConnect();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
AZ_Error("CommonThumbnail", false, "Failed to find matching assetId for the thumbnailKey.");
|
||||
m_state = State::Failed;
|
||||
}
|
||||
|
||||
void CommonThumbnail::LoadThread()
|
||||
{
|
||||
AzToolsFramework::Thumbnailer::ThumbnailerRendererRequestBus::QueueEvent(
|
||||
m_typeId, &AzToolsFramework::Thumbnailer::ThumbnailerRendererRequests::RenderThumbnail, m_key,
|
||||
CommonThumbnailSize);
|
||||
// wait for response from thumbnail renderer
|
||||
m_renderWait.acquire();
|
||||
}
|
||||
|
||||
CommonThumbnail::~CommonThumbnail()
|
||||
{
|
||||
AzToolsFramework::Thumbnailer::ThumbnailerRendererNotificationBus::Handler::BusDisconnect();
|
||||
AzFramework::AssetCatalogEventBus::Handler::BusDisconnect();
|
||||
}
|
||||
|
||||
void CommonThumbnail::ThumbnailRendered(const QPixmap& thumbnailImage)
|
||||
{
|
||||
m_pixmap = thumbnailImage;
|
||||
m_renderWait.release();
|
||||
}
|
||||
|
||||
void CommonThumbnail::ThumbnailFailedToRender()
|
||||
{
|
||||
m_state = State::Failed;
|
||||
m_renderWait.release();
|
||||
}
|
||||
|
||||
void CommonThumbnail::OnCatalogAssetChanged([[maybe_unused]] const AZ::Data::AssetId& assetId)
|
||||
{
|
||||
if (m_assetId == assetId && m_state == State::Ready)
|
||||
{
|
||||
m_state = State::Unloaded;
|
||||
Load();
|
||||
m_assetId = assetId;
|
||||
m_typeId = typeId;
|
||||
AzToolsFramework::Thumbnailer::ThumbnailerRendererNotificationBus::Handler::BusConnect(key);
|
||||
AzFramework::AssetCatalogEventBus::Handler::BusConnect();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// CommonThumbnailCache
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
CommonThumbnailCache::CommonThumbnailCache()
|
||||
: ThumbnailCache<CommonThumbnail>()
|
||||
{
|
||||
}
|
||||
AZ_Error("SharedThumbnail", false, "Failed to find matching assetId for the thumbnailKey.");
|
||||
m_state = State::Failed;
|
||||
}
|
||||
|
||||
CommonThumbnailCache::~CommonThumbnailCache() = default;
|
||||
void SharedThumbnail::LoadThread()
|
||||
{
|
||||
AzToolsFramework::Thumbnailer::ThumbnailerRendererRequestBus::QueueEvent(
|
||||
m_typeId, &AzToolsFramework::Thumbnailer::ThumbnailerRendererRequests::RenderThumbnail, m_key, SharedThumbnailSize);
|
||||
// wait for response from thumbnail renderer
|
||||
m_renderWait.acquire();
|
||||
}
|
||||
|
||||
int CommonThumbnailCache::GetPriority() const
|
||||
{
|
||||
// Thumbnails override default source thumbnails, so carry higher priority
|
||||
return 1;
|
||||
}
|
||||
SharedThumbnail::~SharedThumbnail()
|
||||
{
|
||||
AzToolsFramework::Thumbnailer::ThumbnailerRendererNotificationBus::Handler::BusDisconnect();
|
||||
AzFramework::AssetCatalogEventBus::Handler::BusDisconnect();
|
||||
}
|
||||
|
||||
const char* CommonThumbnailCache::GetProviderName() const
|
||||
{
|
||||
return ProviderName;
|
||||
}
|
||||
void SharedThumbnail::ThumbnailRendered(const QPixmap& thumbnailImage)
|
||||
{
|
||||
m_pixmap = thumbnailImage;
|
||||
m_renderWait.release();
|
||||
}
|
||||
|
||||
bool CommonThumbnailCache::IsSupportedThumbnail(AzToolsFramework::Thumbnailer::SharedThumbnailKey key) const
|
||||
void SharedThumbnail::ThumbnailFailedToRender()
|
||||
{
|
||||
m_state = State::Failed;
|
||||
m_renderWait.release();
|
||||
}
|
||||
|
||||
void SharedThumbnail::OnCatalogAssetChanged([[maybe_unused]] const AZ::Data::AssetId& assetId)
|
||||
{
|
||||
if (m_assetId == assetId && m_state == State::Ready)
|
||||
{
|
||||
return Thumbnails::IsSupportedThumbnail(key);
|
||||
m_state = State::Unloaded;
|
||||
Load();
|
||||
}
|
||||
} // namespace Thumbnails
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// SharedThumbnailCache
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
SharedThumbnailCache::SharedThumbnailCache()
|
||||
: ThumbnailCache<SharedThumbnail>()
|
||||
{
|
||||
}
|
||||
|
||||
SharedThumbnailCache::~SharedThumbnailCache() = default;
|
||||
|
||||
int SharedThumbnailCache::GetPriority() const
|
||||
{
|
||||
// Thumbnails override default source thumbnails, so carry higher priority
|
||||
return 1;
|
||||
}
|
||||
|
||||
const char* SharedThumbnailCache::GetProviderName() const
|
||||
{
|
||||
return ProviderName;
|
||||
}
|
||||
|
||||
bool SharedThumbnailCache::IsSupportedThumbnail(AzToolsFramework::Thumbnailer::SharedThumbnailKey key) const
|
||||
{
|
||||
return SharedPreviewUtils::IsSupportedAssetType(key);
|
||||
}
|
||||
} // namespace LyIntegration
|
||||
} // namespace AZ
|
||||
|
||||
#include <Previewer/moc_CommonThumbnail.cpp>
|
||||
#include <SharedPreview/moc_SharedThumbnail.cpp>
|
||||
|
||||
@@ -19,50 +19,47 @@ namespace AZ
|
||||
{
|
||||
namespace LyIntegration
|
||||
{
|
||||
namespace Thumbnails
|
||||
//! Custom thumbnail that detects when an asset changes and updates the thumbnail
|
||||
class SharedThumbnail final
|
||||
: public AzToolsFramework::Thumbnailer::Thumbnail
|
||||
, public AzToolsFramework::Thumbnailer::ThumbnailerRendererNotificationBus::Handler
|
||||
, private AzFramework::AssetCatalogEventBus::Handler
|
||||
{
|
||||
//! Custom thumbnail that detects when an asset changes and updates the thumbnail
|
||||
class CommonThumbnail
|
||||
: public AzToolsFramework::Thumbnailer::Thumbnail
|
||||
, public AzToolsFramework::Thumbnailer::ThumbnailerRendererNotificationBus::Handler
|
||||
, private AzFramework::AssetCatalogEventBus::Handler
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CommonThumbnail(AzToolsFramework::Thumbnailer::SharedThumbnailKey key);
|
||||
~CommonThumbnail() override;
|
||||
Q_OBJECT
|
||||
public:
|
||||
SharedThumbnail(AzToolsFramework::Thumbnailer::SharedThumbnailKey key);
|
||||
~SharedThumbnail() override;
|
||||
|
||||
//! AzToolsFramework::ThumbnailerRendererNotificationBus::Handler overrides...
|
||||
void ThumbnailRendered(const QPixmap& thumbnailImage) override;
|
||||
void ThumbnailFailedToRender() override;
|
||||
//! AzToolsFramework::ThumbnailerRendererNotificationBus::Handler overrides...
|
||||
void ThumbnailRendered(const QPixmap& thumbnailImage) override;
|
||||
void ThumbnailFailedToRender() override;
|
||||
|
||||
protected:
|
||||
void LoadThread() override;
|
||||
protected:
|
||||
void LoadThread() override;
|
||||
|
||||
private:
|
||||
// AzFramework::AssetCatalogEventBus::Handler interface overrides...
|
||||
void OnCatalogAssetChanged(const AZ::Data::AssetId& assetId) override;
|
||||
private:
|
||||
// AzFramework::AssetCatalogEventBus::Handler interface overrides...
|
||||
void OnCatalogAssetChanged(const AZ::Data::AssetId& assetId) override;
|
||||
|
||||
AZStd::binary_semaphore m_renderWait;
|
||||
Data::AssetId m_assetId;
|
||||
AZ::Uuid m_typeId;
|
||||
};
|
||||
AZStd::binary_semaphore m_renderWait;
|
||||
Data::AssetId m_assetId;
|
||||
AZ::Uuid m_typeId;
|
||||
};
|
||||
|
||||
//! Cache configuration for large thumbnails
|
||||
class CommonThumbnailCache : public AzToolsFramework::Thumbnailer::ThumbnailCache<CommonThumbnail>
|
||||
{
|
||||
public:
|
||||
CommonThumbnailCache();
|
||||
~CommonThumbnailCache() override;
|
||||
//! Cache configuration for large thumbnails
|
||||
class SharedThumbnailCache final : public AzToolsFramework::Thumbnailer::ThumbnailCache<SharedThumbnail>
|
||||
{
|
||||
public:
|
||||
SharedThumbnailCache();
|
||||
~SharedThumbnailCache() override;
|
||||
|
||||
int GetPriority() const override;
|
||||
const char* GetProviderName() const override;
|
||||
int GetPriority() const override;
|
||||
const char* GetProviderName() const override;
|
||||
|
||||
static constexpr const char* ProviderName = "Common Thumbnails";
|
||||
static constexpr const char* ProviderName = "Common Feature Shared Thumbnail= Provider";
|
||||
|
||||
protected:
|
||||
bool IsSupportedThumbnail(AzToolsFramework::Thumbnailer::SharedThumbnailKey key) const override;
|
||||
};
|
||||
} // namespace Thumbnails
|
||||
protected:
|
||||
bool IsSupportedThumbnail(AzToolsFramework::Thumbnailer::SharedThumbnailKey key) const override;
|
||||
};
|
||||
} // namespace LyIntegration
|
||||
} // namespace AZ
|
||||
|
||||
+49
-52
@@ -8,69 +8,66 @@
|
||||
|
||||
#include <AzToolsFramework/AssetBrowser/AssetBrowserBus.h>
|
||||
#include <AzToolsFramework/Thumbnails/ThumbnailerBus.h>
|
||||
#include <Previewer/CommonPreviewContent.h>
|
||||
#include <Previewer/CommonThumbnailRenderer.h>
|
||||
#include <Previewer/CommonThumbnailUtils.h>
|
||||
#include <SharedPreview/SharedPreviewContent.h>
|
||||
#include <SharedPreview/SharedThumbnailRenderer.h>
|
||||
#include <SharedPreview/SharedThumbnailUtils.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace LyIntegration
|
||||
{
|
||||
namespace Thumbnails
|
||||
SharedThumbnailRenderer::SharedThumbnailRenderer()
|
||||
{
|
||||
CommonThumbnailRenderer::CommonThumbnailRenderer()
|
||||
m_previewRenderer.reset(aznew AtomToolsFramework::PreviewRenderer(
|
||||
"SharedThumbnailRenderer Preview Scene", "SharedThumbnailRenderer Preview Pipeline"));
|
||||
|
||||
m_defaultModelAsset.Create(DefaultModelAssetId, true);
|
||||
m_defaultMaterialAsset.Create(DefaultMaterialAssetId, true);
|
||||
m_defaultLightingPresetAsset.Create(DefaultLightingPresetAssetId, true);
|
||||
|
||||
for (const AZ::Uuid& typeId : SharedPreviewUtils::GetSupportedAssetTypes())
|
||||
{
|
||||
m_previewRenderer.reset(aznew AtomToolsFramework::PreviewRenderer(
|
||||
"CommonThumbnailRenderer Preview Scene", "CommonThumbnailRenderer Preview Pipeline"));
|
||||
|
||||
m_defaultModelAsset.Create(DefaultModelAssetId, true);
|
||||
m_defaultMaterialAsset.Create(DefaultMaterialAssetId, true);
|
||||
m_defaultLightingPresetAsset.Create(DefaultLightingPresetAssetId, true);
|
||||
|
||||
for (const AZ::Uuid& typeId : GetSupportedThumbnailAssetTypes())
|
||||
{
|
||||
AzToolsFramework::Thumbnailer::ThumbnailerRendererRequestBus::MultiHandler::BusConnect(typeId);
|
||||
}
|
||||
SystemTickBus::Handler::BusConnect();
|
||||
AzToolsFramework::Thumbnailer::ThumbnailerRendererRequestBus::MultiHandler::BusConnect(typeId);
|
||||
}
|
||||
SystemTickBus::Handler::BusConnect();
|
||||
}
|
||||
|
||||
CommonThumbnailRenderer::~CommonThumbnailRenderer()
|
||||
{
|
||||
AzToolsFramework::Thumbnailer::ThumbnailerRendererRequestBus::MultiHandler::BusDisconnect();
|
||||
SystemTickBus::Handler::BusDisconnect();
|
||||
}
|
||||
SharedThumbnailRenderer::~SharedThumbnailRenderer()
|
||||
{
|
||||
AzToolsFramework::Thumbnailer::ThumbnailerRendererRequestBus::MultiHandler::BusDisconnect();
|
||||
SystemTickBus::Handler::BusDisconnect();
|
||||
}
|
||||
|
||||
void CommonThumbnailRenderer::RenderThumbnail(AzToolsFramework::Thumbnailer::SharedThumbnailKey thumbnailKey, int thumbnailSize)
|
||||
{
|
||||
m_previewRenderer->AddCaptureRequest(
|
||||
{ thumbnailSize,
|
||||
AZStd::make_shared<CommonPreviewContent>(
|
||||
m_previewRenderer->GetScene(), m_previewRenderer->GetView(), m_previewRenderer->GetEntityContextId(),
|
||||
GetAssetId(thumbnailKey, RPI::ModelAsset::RTTI_Type(), DefaultModelAssetId),
|
||||
GetAssetId(thumbnailKey, RPI::MaterialAsset::RTTI_Type(), DefaultMaterialAssetId),
|
||||
GetAssetId(thumbnailKey, RPI::AnyAsset::RTTI_Type(), DefaultLightingPresetAssetId),
|
||||
Render::MaterialPropertyOverrideMap()),
|
||||
[thumbnailKey]()
|
||||
{
|
||||
AzToolsFramework::Thumbnailer::ThumbnailerRendererNotificationBus::Event(
|
||||
thumbnailKey, &AzToolsFramework::Thumbnailer::ThumbnailerRendererNotifications::ThumbnailFailedToRender);
|
||||
},
|
||||
[thumbnailKey](const QPixmap& pixmap)
|
||||
{
|
||||
AzToolsFramework::Thumbnailer::ThumbnailerRendererNotificationBus::Event(
|
||||
thumbnailKey, &AzToolsFramework::Thumbnailer::ThumbnailerRendererNotifications::ThumbnailRendered, pixmap);
|
||||
} });
|
||||
}
|
||||
void SharedThumbnailRenderer::RenderThumbnail(AzToolsFramework::Thumbnailer::SharedThumbnailKey thumbnailKey, int thumbnailSize)
|
||||
{
|
||||
m_previewRenderer->AddCaptureRequest(
|
||||
{ thumbnailSize,
|
||||
AZStd::make_shared<SharedPreviewContent>(
|
||||
m_previewRenderer->GetScene(), m_previewRenderer->GetView(), m_previewRenderer->GetEntityContextId(),
|
||||
SharedPreviewUtils::GetAssetId(thumbnailKey, RPI::ModelAsset::RTTI_Type(), DefaultModelAssetId),
|
||||
SharedPreviewUtils::GetAssetId(thumbnailKey, RPI::MaterialAsset::RTTI_Type(), DefaultMaterialAssetId),
|
||||
SharedPreviewUtils::GetAssetId(thumbnailKey, RPI::AnyAsset::RTTI_Type(), DefaultLightingPresetAssetId),
|
||||
Render::MaterialPropertyOverrideMap()),
|
||||
[thumbnailKey]()
|
||||
{
|
||||
AzToolsFramework::Thumbnailer::ThumbnailerRendererNotificationBus::Event(
|
||||
thumbnailKey, &AzToolsFramework::Thumbnailer::ThumbnailerRendererNotifications::ThumbnailFailedToRender);
|
||||
},
|
||||
[thumbnailKey](const QPixmap& pixmap)
|
||||
{
|
||||
AzToolsFramework::Thumbnailer::ThumbnailerRendererNotificationBus::Event(
|
||||
thumbnailKey, &AzToolsFramework::Thumbnailer::ThumbnailerRendererNotifications::ThumbnailRendered, pixmap);
|
||||
} });
|
||||
}
|
||||
|
||||
bool CommonThumbnailRenderer::Installed() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
bool SharedThumbnailRenderer::Installed() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
void CommonThumbnailRenderer::OnSystemTick()
|
||||
{
|
||||
AzToolsFramework::Thumbnailer::ThumbnailerRendererRequestBus::ExecuteQueuedEvents();
|
||||
}
|
||||
} // namespace Thumbnails
|
||||
void SharedThumbnailRenderer::OnSystemTick()
|
||||
{
|
||||
AzToolsFramework::Thumbnailer::ThumbnailerRendererRequestBus::ExecuteQueuedEvents();
|
||||
}
|
||||
} // namespace LyIntegration
|
||||
} // namespace AZ
|
||||
|
||||
+26
-28
@@ -22,41 +22,39 @@ namespace AZ
|
||||
{
|
||||
namespace LyIntegration
|
||||
{
|
||||
namespace Thumbnails
|
||||
//! Provides custom rendering thumbnails of supported asset types
|
||||
class SharedThumbnailRenderer final
|
||||
: public AzToolsFramework::Thumbnailer::ThumbnailerRendererRequestBus::MultiHandler
|
||||
, public SystemTickBus::Handler
|
||||
{
|
||||
//! Provides custom rendering of material and model thumbnails
|
||||
class CommonThumbnailRenderer
|
||||
: public AzToolsFramework::Thumbnailer::ThumbnailerRendererRequestBus::MultiHandler
|
||||
, public SystemTickBus::Handler
|
||||
{
|
||||
public:
|
||||
AZ_CLASS_ALLOCATOR(CommonThumbnailRenderer, AZ::SystemAllocator, 0);
|
||||
public:
|
||||
AZ_CLASS_ALLOCATOR(SharedThumbnailRenderer, AZ::SystemAllocator, 0);
|
||||
|
||||
CommonThumbnailRenderer();
|
||||
~CommonThumbnailRenderer();
|
||||
SharedThumbnailRenderer();
|
||||
~SharedThumbnailRenderer();
|
||||
|
||||
private:
|
||||
//! ThumbnailerRendererRequestsBus::Handler interface overrides...
|
||||
void RenderThumbnail(AzToolsFramework::Thumbnailer::SharedThumbnailKey thumbnailKey, int thumbnailSize) override;
|
||||
bool Installed() const override;
|
||||
private:
|
||||
//! ThumbnailerRendererRequestsBus::Handler interface overrides...
|
||||
void RenderThumbnail(AzToolsFramework::Thumbnailer::SharedThumbnailKey thumbnailKey, int thumbnailSize) override;
|
||||
bool Installed() const override;
|
||||
|
||||
//! SystemTickBus::Handler interface overrides...
|
||||
void OnSystemTick() override;
|
||||
//! SystemTickBus::Handler interface overrides...
|
||||
void OnSystemTick() override;
|
||||
|
||||
static constexpr const char* DefaultLightingPresetPath = "lightingpresets/thumbnail.lightingpreset.azasset";
|
||||
const Data::AssetId DefaultLightingPresetAssetId = AZ::RPI::AssetUtils::GetAssetIdForProductPath(DefaultLightingPresetPath);
|
||||
Data::Asset<RPI::AnyAsset> m_defaultLightingPresetAsset;
|
||||
// Default assets to be kept loaded and used for rendering if not overridden
|
||||
static constexpr const char* DefaultLightingPresetPath = "lightingpresets/thumbnail.lightingpreset.azasset";
|
||||
const Data::AssetId DefaultLightingPresetAssetId = AZ::RPI::AssetUtils::GetAssetIdForProductPath(DefaultLightingPresetPath);
|
||||
Data::Asset<RPI::AnyAsset> m_defaultLightingPresetAsset;
|
||||
|
||||
static constexpr const char* DefaultModelPath = "models/sphere.azmodel";
|
||||
const Data::AssetId DefaultModelAssetId = AZ::RPI::AssetUtils::GetAssetIdForProductPath(DefaultModelPath);
|
||||
Data::Asset<RPI::ModelAsset> m_defaultModelAsset;
|
||||
static constexpr const char* DefaultModelPath = "models/sphere.azmodel";
|
||||
const Data::AssetId DefaultModelAssetId = AZ::RPI::AssetUtils::GetAssetIdForProductPath(DefaultModelPath);
|
||||
Data::Asset<RPI::ModelAsset> m_defaultModelAsset;
|
||||
|
||||
static constexpr const char* DefaultMaterialPath = "";
|
||||
const Data::AssetId DefaultMaterialAssetId;
|
||||
Data::Asset<RPI::MaterialAsset> m_defaultMaterialAsset;
|
||||
static constexpr const char* DefaultMaterialPath = "";
|
||||
const Data::AssetId DefaultMaterialAssetId;
|
||||
Data::Asset<RPI::MaterialAsset> m_defaultMaterialAsset;
|
||||
|
||||
AZStd::unique_ptr<AtomToolsFramework::PreviewRenderer> m_previewRenderer;
|
||||
};
|
||||
} // namespace Thumbnails
|
||||
AZStd::unique_ptr<AtomToolsFramework::PreviewRenderer> m_previewRenderer;
|
||||
};
|
||||
} // namespace LyIntegration
|
||||
} // namespace AZ
|
||||
|
||||
+7
-7
@@ -9,16 +9,16 @@
|
||||
#include <API/EditorAssetSystemAPI.h>
|
||||
#include <AssetBrowser/Thumbnails/ProductThumbnail.h>
|
||||
#include <AssetBrowser/Thumbnails/SourceThumbnail.h>
|
||||
#include <Previewer/CommonThumbnailUtils.h>
|
||||
#include <Atom/RPI.Reflect/Material/MaterialAsset.h>
|
||||
#include <Atom/RPI.Reflect/Model/ModelAsset.h>
|
||||
#include <Atom/RPI.Reflect/System/AnyAsset.h>
|
||||
#include <SharedPreview/SharedThumbnailUtils.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace LyIntegration
|
||||
{
|
||||
namespace Thumbnails
|
||||
namespace SharedPreviewUtils
|
||||
{
|
||||
Data::AssetId GetAssetId(
|
||||
AzToolsFramework::Thumbnailer::SharedThumbnailKey key,
|
||||
@@ -86,16 +86,16 @@ namespace AZ
|
||||
return result;
|
||||
}
|
||||
|
||||
AZStd::unordered_set<AZ::Uuid> GetSupportedThumbnailAssetTypes()
|
||||
AZStd::unordered_set<AZ::Uuid> GetSupportedAssetTypes()
|
||||
{
|
||||
return { RPI::AnyAsset::RTTI_Type(), RPI::MaterialAsset::RTTI_Type(), RPI::ModelAsset::RTTI_Type() };
|
||||
}
|
||||
|
||||
bool IsSupportedThumbnail(AzToolsFramework::Thumbnailer::SharedThumbnailKey key)
|
||||
bool IsSupportedAssetType(AzToolsFramework::Thumbnailer::SharedThumbnailKey key)
|
||||
{
|
||||
for (const AZ::Uuid& typeId : GetSupportedThumbnailAssetTypes())
|
||||
for (const AZ::Uuid& typeId : SharedPreviewUtils::GetSupportedAssetTypes())
|
||||
{
|
||||
const AZ::Data::AssetId& assetId = GetAssetId(key, typeId);
|
||||
const AZ::Data::AssetId& assetId = SharedPreviewUtils::GetAssetId(key, typeId);
|
||||
if (assetId.IsValid())
|
||||
{
|
||||
if (typeId == RPI::AnyAsset::RTTI_Type())
|
||||
@@ -111,6 +111,6 @@ namespace AZ
|
||||
|
||||
return false;
|
||||
}
|
||||
} // namespace Thumbnails
|
||||
} // namespace SharedPreviewUtils
|
||||
} // namespace LyIntegration
|
||||
} // namespace AZ
|
||||
|
||||
+6
-4
@@ -18,7 +18,7 @@ namespace AZ
|
||||
{
|
||||
namespace LyIntegration
|
||||
{
|
||||
namespace Thumbnails
|
||||
namespace SharedPreviewUtils
|
||||
{
|
||||
//! Get assetId by assetType that belongs to either source or product thumbnail key
|
||||
Data::AssetId GetAssetId(
|
||||
@@ -30,9 +30,11 @@ namespace AZ
|
||||
//! wrap needed
|
||||
QString WordWrap(const QString& string, int maxLength);
|
||||
|
||||
AZStd::unordered_set<AZ::Uuid> GetSupportedThumbnailAssetTypes();
|
||||
//! Get the set of all asset types supported by the shared preview
|
||||
AZStd::unordered_set<AZ::Uuid> GetSupportedAssetTypes();
|
||||
|
||||
bool IsSupportedThumbnail(AzToolsFramework::Thumbnailer::SharedThumbnailKey key);
|
||||
} // namespace Thumbnails
|
||||
//! Determine if a thumbnail key has an asset the shared preview
|
||||
bool IsSupportedAssetType(AzToolsFramework::Thumbnailer::SharedThumbnailKey key);
|
||||
} // namespace SharedPreviewUtils
|
||||
} // namespace LyIntegration
|
||||
} // namespace AZ
|
||||
|
||||
+13
-13
@@ -91,19 +91,19 @@ set(FILES
|
||||
Source/SkyBox/EditorHDRiSkyboxComponent.h
|
||||
Source/SkyBox/EditorPhysicalSkyComponent.cpp
|
||||
Source/SkyBox/EditorPhysicalSkyComponent.h
|
||||
Source/Previewer/CommonPreviewer.cpp
|
||||
Source/Previewer/CommonPreviewer.h
|
||||
Source/Previewer/CommonPreviewer.ui
|
||||
Source/Previewer/CommonPreviewerFactory.cpp
|
||||
Source/Previewer/CommonPreviewerFactory.h
|
||||
Source/Previewer/CommonPreviewContent.cpp
|
||||
Source/Previewer/CommonPreviewContent.h
|
||||
Source/Previewer/CommonThumbnail.cpp
|
||||
Source/Previewer/CommonThumbnail.h
|
||||
Source/Previewer/CommonThumbnailRenderer.cpp
|
||||
Source/Previewer/CommonThumbnailRenderer.h
|
||||
Source/Previewer/CommonThumbnailUtils.cpp
|
||||
Source/Previewer/CommonThumbnailUtils.h
|
||||
Source/SharedPreview/SharedPreviewer.cpp
|
||||
Source/SharedPreview/SharedPreviewer.h
|
||||
Source/SharedPreview/SharedPreviewer.ui
|
||||
Source/SharedPreview/SharedPreviewerFactory.cpp
|
||||
Source/SharedPreview/SharedPreviewerFactory.h
|
||||
Source/SharedPreview/SharedPreviewContent.cpp
|
||||
Source/SharedPreview/SharedPreviewContent.h
|
||||
Source/SharedPreview/SharedThumbnail.cpp
|
||||
Source/SharedPreview/SharedThumbnail.h
|
||||
Source/SharedPreview/SharedThumbnailRenderer.cpp
|
||||
Source/SharedPreview/SharedThumbnailRenderer.h
|
||||
Source/SharedPreview/SharedThumbnailUtils.cpp
|
||||
Source/SharedPreview/SharedThumbnailUtils.h
|
||||
Source/Scripting/EditorEntityReferenceComponent.cpp
|
||||
Source/Scripting/EditorEntityReferenceComponent.h
|
||||
Source/SurfaceData/EditorSurfaceDataMeshComponent.cpp
|
||||
|
||||
Reference in New Issue
Block a user