Align SRP boundaries and editor windowing

This commit is contained in:
2026-04-26 17:14:32 +08:00
parent a8256b05cd
commit b8599a8aff
38 changed files with 696 additions and 650 deletions

View File

@@ -114,6 +114,7 @@ namespace XCEngine.Rendering.Universal
ScriptableRenderPipelinePlanningContext context)
{
ConfigureCameraFramePlan(context);
ConfigureRendererFeaturesCameraFramePlan(context);
}
internal void FinalizeCameraFramePlanInstance(
@@ -126,12 +127,15 @@ namespace XCEngine.Rendering.Universal
RenderSceneSetupContext context)
{
ConfigureRenderSceneSetup(context);
ConfigureRendererFeaturesRenderSceneSetup(context);
}
internal void ConfigureDirectionalShadowExecutionStateInstance(
DirectionalShadowExecutionContext context)
{
ConfigureDirectionalShadowExecutionState(context);
ConfigureRendererFeaturesDirectionalShadowExecutionState(
context);
}
internal bool RecordRendererInstance(
@@ -211,6 +215,49 @@ namespace XCEngine.Rendering.Universal
{
}
private void ConfigureRendererFeaturesCameraFramePlan(
ScriptableRenderPipelinePlanningContext context)
{
for (int i = 0; i < m_features.Count; ++i)
{
ScriptableRendererFeature feature = m_features[i];
if (feature != null &&
feature.isActive)
{
feature.ConfigureCameraFramePlan(context);
}
}
}
private void ConfigureRendererFeaturesRenderSceneSetup(
RenderSceneSetupContext context)
{
for (int i = 0; i < m_features.Count; ++i)
{
ScriptableRendererFeature feature = m_features[i];
if (feature != null &&
feature.isActive)
{
feature.ConfigureRenderSceneSetup(context);
}
}
}
private void ConfigureRendererFeaturesDirectionalShadowExecutionState(
DirectionalShadowExecutionContext context)
{
for (int i = 0; i < m_features.Count; ++i)
{
ScriptableRendererFeature feature = m_features[i];
if (feature != null &&
feature.isActive)
{
feature.ConfigureDirectionalShadowExecutionState(
context);
}
}
}
private bool HasRendererBlock(
RendererBlock block)
{