refactor(srp): move scene setup ownership into managed renderer
This commit is contained in:
@@ -903,6 +903,46 @@ namespace XCEngine
|
||||
Rendering_CameraRenderRequestContext_ClearDirectionalShadow(
|
||||
ulong nativeHandle);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern int
|
||||
Rendering_RenderSceneSetupContext_GetRendererIndex(
|
||||
ulong nativeHandle);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern bool
|
||||
Rendering_RenderSceneSetupContext_GetIsConfigured(
|
||||
ulong nativeHandle);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern bool
|
||||
Rendering_RenderSceneSetupContext_UseDefaultSceneSetup(
|
||||
ulong nativeHandle);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern bool
|
||||
Rendering_RenderSceneSetupContext_UseDefaultEnvironment(
|
||||
ulong nativeHandle);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern bool
|
||||
Rendering_RenderSceneSetupContext_UseDefaultGlobalShaderKeywords(
|
||||
ulong nativeHandle);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern void
|
||||
Rendering_RenderSceneSetupContext_ClearEnvironment(
|
||||
ulong nativeHandle);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern void
|
||||
Rendering_RenderSceneSetupContext_ClearGlobalShaderKeywords(
|
||||
ulong nativeHandle);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern void
|
||||
Rendering_RenderSceneSetupContext_ClearSceneSetup(
|
||||
ulong nativeHandle);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern bool
|
||||
Rendering_DirectionalShadowExecutionContext_GetHasPlannedMainDirectionalShadow(
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
namespace XCEngine.Rendering
|
||||
{
|
||||
public sealed class RenderSceneSetupContext
|
||||
{
|
||||
private readonly ulong m_nativeHandle;
|
||||
|
||||
internal RenderSceneSetupContext(ulong nativeHandle)
|
||||
{
|
||||
m_nativeHandle = nativeHandle;
|
||||
}
|
||||
|
||||
public int rendererIndex =>
|
||||
InternalCalls
|
||||
.Rendering_RenderSceneSetupContext_GetRendererIndex(
|
||||
m_nativeHandle);
|
||||
|
||||
public bool isConfigured =>
|
||||
InternalCalls
|
||||
.Rendering_RenderSceneSetupContext_GetIsConfigured(
|
||||
m_nativeHandle);
|
||||
|
||||
public bool UseDefaultSceneSetup()
|
||||
{
|
||||
return InternalCalls
|
||||
.Rendering_RenderSceneSetupContext_UseDefaultSceneSetup(
|
||||
m_nativeHandle);
|
||||
}
|
||||
|
||||
public bool UseDefaultEnvironment()
|
||||
{
|
||||
return InternalCalls
|
||||
.Rendering_RenderSceneSetupContext_UseDefaultEnvironment(
|
||||
m_nativeHandle);
|
||||
}
|
||||
|
||||
public bool UseDefaultGlobalShaderKeywords()
|
||||
{
|
||||
return InternalCalls
|
||||
.Rendering_RenderSceneSetupContext_UseDefaultGlobalShaderKeywords(
|
||||
m_nativeHandle);
|
||||
}
|
||||
|
||||
public void ClearEnvironment()
|
||||
{
|
||||
InternalCalls
|
||||
.Rendering_RenderSceneSetupContext_ClearEnvironment(
|
||||
m_nativeHandle);
|
||||
}
|
||||
|
||||
public void ClearGlobalShaderKeywords()
|
||||
{
|
||||
InternalCalls
|
||||
.Rendering_RenderSceneSetupContext_ClearGlobalShaderKeywords(
|
||||
m_nativeHandle);
|
||||
}
|
||||
|
||||
public void ClearSceneSetup()
|
||||
{
|
||||
InternalCalls
|
||||
.Rendering_RenderSceneSetupContext_ClearSceneSetup(
|
||||
m_nativeHandle);
|
||||
}
|
||||
|
||||
internal ulong nativeHandle =>
|
||||
m_nativeHandle;
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,12 @@ namespace XCEngine.Rendering
|
||||
ConfigureCameraFramePlan(context);
|
||||
}
|
||||
|
||||
internal bool ConfigureRenderSceneSetupInstance(
|
||||
RenderSceneSetupContext context)
|
||||
{
|
||||
return ConfigureRenderSceneSetup(context);
|
||||
}
|
||||
|
||||
internal bool ConfigureDirectionalShadowExecutionStateInstance(
|
||||
DirectionalShadowExecutionContext context)
|
||||
{
|
||||
@@ -49,6 +55,12 @@ namespace XCEngine.Rendering
|
||||
{
|
||||
}
|
||||
|
||||
protected virtual bool ConfigureRenderSceneSetup(
|
||||
RenderSceneSetupContext context)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
protected virtual bool ConfigureDirectionalShadowExecutionState(
|
||||
DirectionalShadowExecutionContext context)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user