Align managed render graph authoring surface
This commit is contained in:
@@ -3,8 +3,8 @@ using XCEngine;
|
||||
namespace XCEngine.Rendering
|
||||
{
|
||||
// SRP v1 managed recording surface. Scene draws still delegate to the
|
||||
// native SceneDrawBackend, and raster-pass recording is limited to the
|
||||
// fullscreen PostProcess / FinalOutput stages.
|
||||
// native SceneDrawBackend; RenderGraph raster authoring can record scene
|
||||
// and fullscreen stages through the Unity-style managed surface.
|
||||
public sealed class ScriptableRenderContext
|
||||
{
|
||||
private readonly ulong m_nativeHandle;
|
||||
@@ -14,16 +14,16 @@ namespace XCEngine.Rendering
|
||||
m_nativeHandle = nativeHandle;
|
||||
}
|
||||
|
||||
public CameraFrameStage stage =>
|
||||
internal CameraFrameStage stage =>
|
||||
(CameraFrameStage)InternalCalls.Rendering_ScriptableRenderContext_GetStage(
|
||||
m_nativeHandle);
|
||||
|
||||
public int rendererIndex =>
|
||||
internal int rendererIndex =>
|
||||
InternalCalls
|
||||
.Rendering_ScriptableRenderContext_GetRendererIndex(
|
||||
m_nativeHandle);
|
||||
|
||||
public ulong framePlanId =>
|
||||
internal ulong framePlanId =>
|
||||
InternalCalls
|
||||
.Rendering_ScriptableRenderContext_GetFramePlanId(
|
||||
m_nativeHandle);
|
||||
@@ -33,19 +33,19 @@ namespace XCEngine.Rendering
|
||||
.Rendering_ScriptableRenderContext_GetPassName(
|
||||
m_nativeHandle) ?? string.Empty;
|
||||
|
||||
public RenderGraphTextureHandle sourceColorTexture =>
|
||||
internal RenderGraphTextureHandle sourceColorTexture =>
|
||||
RenderGraphTextureHandle.FromNativeIndex(
|
||||
InternalCalls
|
||||
.Rendering_ScriptableRenderContext_GetSourceColorTextureHandle(
|
||||
m_nativeHandle));
|
||||
|
||||
public RenderGraphTextureHandle primaryColorTarget =>
|
||||
internal RenderGraphTextureHandle primaryColorTarget =>
|
||||
RenderGraphTextureHandle.FromNativeIndex(
|
||||
InternalCalls
|
||||
.Rendering_ScriptableRenderContext_GetPrimaryColorTargetHandle(
|
||||
m_nativeHandle));
|
||||
|
||||
public RenderGraphTextureHandle depthTarget =>
|
||||
internal RenderGraphTextureHandle depthTarget =>
|
||||
RenderGraphTextureHandle.FromNativeIndex(
|
||||
InternalCalls
|
||||
.Rendering_ScriptableRenderContext_GetDepthTargetHandle(
|
||||
@@ -142,7 +142,7 @@ namespace XCEngine.Rendering
|
||||
RendererListType.Transparent));
|
||||
}
|
||||
|
||||
public RenderGraphTextureHandle CreateTransientTexture(
|
||||
internal RenderGraphTextureHandle CreateTransientTexture(
|
||||
string name,
|
||||
RenderGraphTextureDesc desc)
|
||||
{
|
||||
@@ -154,7 +154,7 @@ namespace XCEngine.Rendering
|
||||
ref desc));
|
||||
}
|
||||
|
||||
public RenderGraphTextureHandle
|
||||
internal RenderGraphTextureHandle
|
||||
CreateFullscreenTransientColorTexture(
|
||||
string name)
|
||||
{
|
||||
@@ -165,7 +165,7 @@ namespace XCEngine.Rendering
|
||||
name));
|
||||
}
|
||||
|
||||
public RenderGraphTextureHandle
|
||||
internal RenderGraphTextureHandle
|
||||
CreateFullscreenTransientDepthTexture(
|
||||
string name)
|
||||
{
|
||||
@@ -193,10 +193,10 @@ namespace XCEngine.Rendering
|
||||
ref renderStateBlock));
|
||||
}
|
||||
|
||||
// Public RenderGraph raster authoring entry point. Built-in fullscreen
|
||||
// kernels are internal URP implementation details, not public context
|
||||
// shortcuts.
|
||||
public RenderGraphRasterPassBuilder AddRasterPass(
|
||||
// Internal backing entry point for public RenderGraph raster authoring.
|
||||
// Built-in fullscreen kernels are URP implementation details, not
|
||||
// public context shortcuts.
|
||||
internal RenderGraphRasterPassBuilder AddRasterPass(
|
||||
string passName)
|
||||
{
|
||||
return new RenderGraphRasterPassBuilder(
|
||||
|
||||
@@ -31,6 +31,48 @@ namespace XCEngine.Rendering.RenderGraphModule
|
||||
return m_context.AddRasterPass(passName);
|
||||
}
|
||||
|
||||
public XCEngine.Rendering.RenderGraphTextureHandle
|
||||
CreateTransientTexture(
|
||||
string name,
|
||||
XCEngine.Rendering.RenderGraphTextureDesc desc)
|
||||
{
|
||||
if (m_context == null)
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"RenderGraph is not bound to a recording context.");
|
||||
}
|
||||
|
||||
return m_context.CreateTransientTexture(
|
||||
name,
|
||||
desc);
|
||||
}
|
||||
|
||||
public XCEngine.Rendering.RenderGraphTextureHandle
|
||||
CreateFullscreenTransientColorTexture(
|
||||
string name)
|
||||
{
|
||||
if (m_context == null)
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"RenderGraph is not bound to a recording context.");
|
||||
}
|
||||
|
||||
return m_context.CreateFullscreenTransientColorTexture(name);
|
||||
}
|
||||
|
||||
public XCEngine.Rendering.RenderGraphTextureHandle
|
||||
CreateFullscreenTransientDepthTexture(
|
||||
string name)
|
||||
{
|
||||
if (m_context == null)
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"RenderGraph is not bound to a recording context.");
|
||||
}
|
||||
|
||||
return m_context.CreateFullscreenTransientDepthTexture(name);
|
||||
}
|
||||
|
||||
public XCEngine.Rendering.RendererListHandle
|
||||
CreateRendererList(
|
||||
XCEngine.Rendering.RendererListDesc rendererListDesc)
|
||||
|
||||
Reference in New Issue
Block a user