feat(srp): formalize renderer contracts and project feature bridge

This commit is contained in:
2026-04-20 15:03:45 +08:00
parent 10b092d467
commit a615f78e72
13 changed files with 1604 additions and 28 deletions

View File

@@ -9,6 +9,7 @@ namespace XCEngine.Rendering.Universal
private ScriptableRendererFeature[] m_rendererFeatures;
private ScriptableRenderer m_rendererInstance;
private bool m_rendererInvalidated;
private int m_runtimeStateVersion = 1;
protected ScriptableRendererData()
{
@@ -60,6 +61,11 @@ namespace XCEngine.Rendering.Universal
return GetPipelineRendererAssetKey();
}
internal int GetRuntimeStateVersionInstance()
{
return m_runtimeStateVersion;
}
internal void ReleaseRuntimeResourcesInstance()
{
ReleaseRendererSetupCache();
@@ -182,6 +188,15 @@ namespace XCEngine.Rendering.Universal
{
ReleaseRendererSetupCache();
m_rendererInvalidated = true;
unchecked
{
++m_runtimeStateVersion;
}
if (m_runtimeStateVersion <= 0)
{
m_runtimeStateVersion = 1;
}
}
protected void AddRendererFeature(