Align URP scene drawing with RenderGraph renderer lists
This commit is contained in:
@@ -42,6 +42,8 @@ namespace XCEngine.Rendering
|
||||
new List<RenderGraphTextureHandle>();
|
||||
private readonly List<RenderGraphTextureHandle> m_readDepthTextures =
|
||||
new List<RenderGraphTextureHandle>();
|
||||
private readonly List<RendererListHandle> m_rendererLists =
|
||||
new List<RendererListHandle>();
|
||||
private readonly List<TextureBindingRequest> m_textureBindings =
|
||||
new List<TextureBindingRequest>();
|
||||
private readonly List<RenderGraphTextureHandle> m_colorAttachments =
|
||||
@@ -123,6 +125,27 @@ namespace XCEngine.Rendering
|
||||
return this;
|
||||
}
|
||||
|
||||
public RenderGraphRasterPassBuilder UseRendererList(
|
||||
RendererListHandle rendererList)
|
||||
{
|
||||
if (!rendererList.isValid)
|
||||
{
|
||||
return this;
|
||||
}
|
||||
|
||||
for (int i = 0; i < m_rendererLists.Count; ++i)
|
||||
{
|
||||
if (m_rendererLists[i].nativeIndex ==
|
||||
rendererList.nativeIndex)
|
||||
{
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
m_rendererLists.Add(rendererList);
|
||||
return this;
|
||||
}
|
||||
|
||||
public RenderGraphRasterPassBuilder SetColorAttachment(
|
||||
RenderGraphTextureHandle texture,
|
||||
int index = 0)
|
||||
@@ -309,6 +332,25 @@ namespace XCEngine.Rendering
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < m_rendererLists.Count; ++i)
|
||||
{
|
||||
RendererListHandle rendererList =
|
||||
m_rendererLists[i];
|
||||
if (!rendererList.isValid)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!InternalCalls
|
||||
.Rendering_ScriptableRenderContext_AddRasterPassRendererList(
|
||||
m_context.nativeHandle,
|
||||
nativePassHandle,
|
||||
rendererList.nativeIndex))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < m_colorAttachments.Count; ++i)
|
||||
{
|
||||
RenderGraphTextureHandle colorAttachment =
|
||||
|
||||
Reference in New Issue
Block a user