feat(srp): add descriptor-driven object draw authoring

- bridge renderer list descriptors into ScriptableRenderContext scene draw calls
- reuse DrawObjectsPass across Universal and project custom renderers
- add RenderObjectsRendererFeature for package-level object draw extension
This commit is contained in:
2026-04-20 22:05:38 +08:00
parent 3df87e941c
commit cee65fcf40
18 changed files with 493 additions and 73 deletions

View File

@@ -67,12 +67,22 @@ namespace XCEngine.Rendering
public bool DrawRenderers(
SceneRenderPhase scenePhase,
RendererListType rendererListType)
{
return DrawRenderers(
scenePhase,
RendererListDesc.CreateDefault(
rendererListType));
}
public bool DrawRenderers(
SceneRenderPhase scenePhase,
RendererListDesc rendererListDesc)
{
return InternalCalls
.Rendering_ScriptableRenderContext_DrawRenderers(
.Rendering_ScriptableRenderContext_DrawRenderersByDesc(
m_nativeHandle,
(int)scenePhase,
(int)rendererListType);
ref rendererListDesc);
}
public bool RecordOpaqueScenePhase()
@@ -133,14 +143,16 @@ namespace XCEngine.Rendering
{
return DrawRenderers(
SceneRenderPhase.Opaque,
RendererListType.Opaque);
RendererListDesc.CreateDefault(
RendererListType.Opaque));
}
public bool DrawTransparentRenderers()
{
return DrawRenderers(
SceneRenderPhase.Transparent,
RendererListType.Transparent);
RendererListDesc.CreateDefault(
RendererListType.Transparent));
}
public RenderGraphTextureHandle CreateTransientTexture(