refactor(srp): move final color policy into request seam
This commit is contained in:
@@ -98,6 +98,26 @@ namespace XCEngine.Rendering
|
||||
(int)value);
|
||||
}
|
||||
|
||||
public void SetResolvedFinalColorPolicy(
|
||||
FinalColorSettings settings,
|
||||
bool hasPipelineDefaults,
|
||||
bool hasCameraOverrides)
|
||||
{
|
||||
InternalCalls
|
||||
.Rendering_CameraRenderRequestContext_SetResolvedFinalColorPolicy(
|
||||
m_nativeHandle,
|
||||
ref settings,
|
||||
hasPipelineDefaults,
|
||||
hasCameraOverrides);
|
||||
}
|
||||
|
||||
public void ClearFinalColorPolicy()
|
||||
{
|
||||
InternalCalls
|
||||
.Rendering_CameraRenderRequestContext_ClearFinalColorPolicy(
|
||||
m_nativeHandle);
|
||||
}
|
||||
|
||||
internal ulong nativeHandle =>
|
||||
m_nativeHandle;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
using System.Runtime.InteropServices;
|
||||
using XCEngine;
|
||||
|
||||
namespace XCEngine.Rendering
|
||||
{
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct FinalColorOverrideSettings
|
||||
{
|
||||
[MarshalAs(UnmanagedType.I1)]
|
||||
public bool overrideOutputTransferMode;
|
||||
|
||||
public FinalColorOutputTransferMode outputTransferMode;
|
||||
|
||||
[MarshalAs(UnmanagedType.I1)]
|
||||
public bool overrideExposureMode;
|
||||
|
||||
public FinalColorExposureMode exposureMode;
|
||||
|
||||
[MarshalAs(UnmanagedType.I1)]
|
||||
public bool overrideExposureValue;
|
||||
|
||||
public float exposureValue;
|
||||
|
||||
[MarshalAs(UnmanagedType.I1)]
|
||||
public bool overrideToneMappingMode;
|
||||
|
||||
public FinalColorToneMappingMode toneMappingMode;
|
||||
|
||||
[MarshalAs(UnmanagedType.I1)]
|
||||
public bool overrideFinalColorScale;
|
||||
|
||||
public Vector4 finalColorScale;
|
||||
|
||||
public bool HasOverrides()
|
||||
{
|
||||
return overrideOutputTransferMode ||
|
||||
overrideExposureMode ||
|
||||
overrideExposureValue ||
|
||||
overrideToneMappingMode ||
|
||||
overrideFinalColorScale;
|
||||
}
|
||||
|
||||
public void ApplyTo(ref FinalColorSettings settings)
|
||||
{
|
||||
if (overrideOutputTransferMode)
|
||||
{
|
||||
settings.outputTransferMode =
|
||||
outputTransferMode;
|
||||
}
|
||||
|
||||
if (overrideExposureMode)
|
||||
{
|
||||
settings.exposureMode =
|
||||
exposureMode;
|
||||
}
|
||||
|
||||
if (overrideExposureValue)
|
||||
{
|
||||
settings.exposureValue =
|
||||
exposureValue;
|
||||
}
|
||||
|
||||
if (overrideToneMappingMode)
|
||||
{
|
||||
settings.toneMappingMode =
|
||||
toneMappingMode;
|
||||
}
|
||||
|
||||
if (overrideFinalColorScale)
|
||||
{
|
||||
settings.finalColorScale =
|
||||
finalColorScale;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -72,17 +72,6 @@ namespace XCEngine.Rendering
|
||||
return FinalColorSettings.CreateDefault();
|
||||
}
|
||||
|
||||
private protected virtual bool UsesNativeCameraFramePlanBaseline()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
private protected virtual bool UsesNativeCameraFramePlanBaselineContextual(
|
||||
int rendererIndex)
|
||||
{
|
||||
return UsesNativeCameraFramePlanBaseline();
|
||||
}
|
||||
|
||||
protected virtual void ReleaseRuntimeResources()
|
||||
{
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user