[new] ATOM-17253 Using AtomTressFX gem as an example to inject hair passes to main pipeline at run-time (#7661)

* Change AtomTressFX passes to write to exsiting DepthLinear buffer instead of creating a new one as output.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>

* Added new api in RPI to apply render pipeline changes from FP

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>

* Update AtomTressFX gem to create hair parent pass at runtime

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>

* Change Scene::ApplyRenderPipelineChange() to TryApplyRenderPIpelineChanges().
Have TryApplyRenderPIpelineChanges() called automatically when a render pipeline is added to a Scene.
Re-apply the render pipeline change when RenderPipeline got recreated (Pass hot-reloading support)
Add AddPassBefore() and AddPassAfter() function to RenderPIpeline class.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
This commit is contained in:
Qing Tao
2022-02-17 08:50:50 -08:00
committed by GitHub
parent ca3018155e
commit 846e2736a5
23 changed files with 388 additions and 254 deletions
+4
View File
@@ -1340,6 +1340,8 @@ void CCryEditApp::CompileCriticalAssets() const
}
assetsInQueueNotifcation.BusDisconnect();
AZ_TracePrintf("Editor", "CriticalAssetsCompiled\n");
// Signal the "CriticalAssetsCompiled" lifecycle event
// Also reload the "assetcatalog.xml" if it exists
if (auto settingsRegistry = AZ::SettingsRegistry::Get(); settingsRegistry != nullptr)
@@ -1411,11 +1413,13 @@ bool CCryEditApp::ConnectToAssetProcessor() const
if (connectedToAssetProcessor)
{
AZ_TracePrintf("Editor", "Connected to Asset Processor\n");
CCryEditApp::OutputStartupMessage(QString("Connected to Asset Processor"));
CompileCriticalAssets();
return true;
}
AZ_TracePrintf("Editor", "Failed to connect to Asset Processor\n");
CCryEditApp::OutputStartupMessage(QString("Failed to connect to Asset Processor"));
return false;
}