Files
XCEngine/managed/XCEngine.ScriptCore/Rendering/Core/ScriptableRenderPipelinePlanningContext.cs
ssdfasd 9e6c473186 feat(srp): add managed camera frame planning seam
Expose native camera frame planning controls to managed pipeline assets and renderer features.

Allow managed planning to override fullscreen stage heuristics while keeping CameraFramePlan as the native execution contract.

Add scripting coverage, probe assets, and archive the phase plan after build, test, and editor smoke validation.
2026-04-20 01:48:16 +08:00

65 lines
2.0 KiB
C#

using XCEngine;
namespace XCEngine.Rendering
{
public sealed class ScriptableRenderPipelinePlanningContext
{
private readonly ulong m_nativeHandle;
internal ScriptableRenderPipelinePlanningContext(
ulong nativeHandle)
{
m_nativeHandle = nativeHandle;
}
public bool IsStageRequested(
CameraFrameStage stage)
{
return InternalCalls
.Rendering_ScriptableRenderPipelinePlanningContext_IsStageRequested(
m_nativeHandle,
(int)stage);
}
public CameraFrameColorSource GetStageColorSource(
CameraFrameStage stage)
{
return (CameraFrameColorSource)InternalCalls
.Rendering_ScriptableRenderPipelinePlanningContext_GetStageColorSource(
m_nativeHandle,
(int)stage);
}
public bool UsesGraphManagedOutputColor(
CameraFrameStage stage)
{
return InternalCalls
.Rendering_ScriptableRenderPipelinePlanningContext_GetStageUsesGraphManagedOutputColor(
m_nativeHandle,
(int)stage);
}
public bool RequestFullscreenStage(
CameraFrameStage stage,
CameraFrameColorSource source,
bool usesGraphManagedOutputColor = false)
{
return InternalCalls
.Rendering_ScriptableRenderPipelinePlanningContext_RequestFullscreenStage(
m_nativeHandle,
(int)stage,
(int)source,
usesGraphManagedOutputColor);
}
public void ClearFullscreenStage(
CameraFrameStage stage)
{
InternalCalls
.Rendering_ScriptableRenderPipelinePlanningContext_ClearFullscreenStage(
m_nativeHandle,
(int)stage);
}
}
}