refactor(rendering): formalize pipeline selection and engine asset discovery
This commit is contained in:
@@ -38,7 +38,8 @@ ManagedScriptableRenderPipelineAsset::ResolveManagedAssetRuntime() const {
|
||||
}
|
||||
|
||||
std::unique_ptr<RenderPipeline> ManagedScriptableRenderPipelineAsset::CreatePipeline() const {
|
||||
std::unique_ptr<RenderPipeline> pipeline = m_fallbackAsset.CreatePipeline();
|
||||
std::unique_ptr<RenderPipeline> pipeline =
|
||||
m_executionHostAsset.CreatePipeline();
|
||||
auto* host = dynamic_cast<ScriptableRenderPipelineHost*>(pipeline.get());
|
||||
if (host == nullptr) {
|
||||
return pipeline;
|
||||
@@ -85,7 +86,7 @@ FinalColorSettings ManagedScriptableRenderPipelineAsset::GetDefaultFinalColorSet
|
||||
}
|
||||
}
|
||||
|
||||
return m_fallbackAsset.GetDefaultFinalColorSettings();
|
||||
return m_executionHostAsset.GetDefaultFinalColorSettings();
|
||||
}
|
||||
|
||||
void ManagedScriptableRenderPipelineAsset::ConfigureCameraFramePlan(
|
||||
@@ -118,29 +119,31 @@ size_t GetManagedRenderPipelineEnvironmentGeneration() {
|
||||
return GetGraphicsSettingsState().GetEnvironmentGeneration();
|
||||
}
|
||||
|
||||
void SetManagedRenderPipelineAssetDescriptor(
|
||||
void SetConfiguredManagedRenderPipelineAssetDescriptor(
|
||||
const ManagedRenderPipelineAssetDescriptor& descriptor) {
|
||||
GetGraphicsSettingsState().SetRenderPipelineAssetDescriptor(
|
||||
GetGraphicsSettingsState().SetConfiguredRenderPipelineAssetDescriptor(
|
||||
descriptor);
|
||||
}
|
||||
|
||||
void ClearManagedRenderPipelineAssetDescriptor() {
|
||||
GetGraphicsSettingsState().ClearRenderPipelineAssetDescriptor();
|
||||
void ClearConfiguredManagedRenderPipelineAssetDescriptor() {
|
||||
GetGraphicsSettingsState().ClearConfiguredRenderPipelineAssetDescriptor();
|
||||
}
|
||||
|
||||
ManagedRenderPipelineAssetDescriptor GetManagedRenderPipelineAssetDescriptor() {
|
||||
return GetGraphicsSettingsState().GetRenderPipelineAssetDescriptor();
|
||||
ManagedRenderPipelineAssetDescriptor
|
||||
GetConfiguredManagedRenderPipelineAssetDescriptor() {
|
||||
return GetGraphicsSettingsState()
|
||||
.GetConfiguredRenderPipelineAssetDescriptor();
|
||||
}
|
||||
|
||||
std::shared_ptr<const RenderPipelineAsset>
|
||||
CreateManagedOrDefaultScriptableRenderPipelineAsset() {
|
||||
CreateConfiguredManagedRenderPipelineAsset() {
|
||||
const ManagedRenderPipelineAssetDescriptor descriptor =
|
||||
GetGraphicsSettingsState().GetRenderPipelineAssetDescriptor();
|
||||
GetGraphicsSettingsState().GetConfiguredRenderPipelineAssetDescriptor();
|
||||
if (descriptor.IsValid()) {
|
||||
return std::make_shared<ManagedScriptableRenderPipelineAsset>(descriptor);
|
||||
}
|
||||
|
||||
return std::make_shared<ScriptableRenderPipelineHostAsset>();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
} // namespace Pipelines
|
||||
|
||||
Reference in New Issue
Block a user