refactor(srp): formalize universal renderer selection and caching

This commit is contained in:
2026-04-20 00:16:32 +08:00
parent ad32d64269
commit cbc0ddbd42
6 changed files with 379 additions and 38 deletions

View File

@@ -7,6 +7,7 @@ namespace XCEngine.Rendering.Universal
public abstract class ScriptableRendererData : Object
{
private ScriptableRendererFeature[] m_rendererFeatures;
private ScriptableRenderer m_rendererInstance;
protected ScriptableRendererData()
{
@@ -14,7 +15,17 @@ namespace XCEngine.Rendering.Universal
internal ScriptableRenderer CreateRendererInstance()
{
return CreateRenderer();
return GetRendererInstance();
}
internal ScriptableRenderer GetRendererInstance()
{
if (m_rendererInstance == null)
{
m_rendererInstance = CreateRenderer();
}
return m_rendererInstance;
}
internal ScriptableRendererFeature[] CreateRendererFeaturesInstance()