From 456715cc58b2e3cf58a6ed86533788fa2f5fdf5a Mon Sep 17 00:00:00 2001 From: StarBeats <977663818@qq.com> Date: Thu, 12 Dec 2024 20:32:36 +0800 Subject: [PATCH] xess add depth --- .../Plugins/Windows/GfxPluginNativeRender.dll | Bin 296960 -> 296960 bytes Assets/Settings/Mobile/Mobile_High.asset | 4 +- .../Mobile/Mobile_High_Renderer.asset | 15 ++--- NativeRenderPlugin/features/xess1/xess.cpp | 9 ++- .../Runtime/Passes/PostProcessPass.cs | 8 ++- .../Runtime/ScriptableRenderer.cs | 1 + .../Runtime/SuperRendering/SF/FG.cs | 3 + .../Runtime/SuperRendering/SR/Scripts/XESS.cs | 58 +++++++++++++++++- .../Runtime/TemporalAA.cs | 11 +++- UserSettings/Layouts/default-2022.dwlt | 52 ++++++++-------- 10 files changed, 116 insertions(+), 45 deletions(-) diff --git a/Assets/Plugins/Windows/GfxPluginNativeRender.dll b/Assets/Plugins/Windows/GfxPluginNativeRender.dll index d4f2ea634a7c4ad26eafdce1652fb5ddd88bb3d8..b4d75f237c3e6ee7030c1724cb04621a04877b73 100644 GIT binary patch delta 33344 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%0AFI9*g@RP0 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 G-v0;3%c>&) diff --git a/Assets/Settings/Mobile/Mobile_High.asset b/Assets/Settings/Mobile/Mobile_High.asset index db4fccc..b1a6030 100644 --- a/Assets/Settings/Mobile/Mobile_High.asset +++ b/Assets/Settings/Mobile/Mobile_High.asset @@ -28,7 +28,7 @@ MonoBehaviour: m_SupportsHDR: 1 m_HDRColorBufferPrecision: 0 m_MSAA: 1 - m_RenderScale: 0.6 + m_RenderScale: 0.75 m_UpscalingFilter: 0 m_FsrOverrideSharpness: 1 m_FsrSharpness: 1 @@ -115,5 +115,5 @@ MonoBehaviour: m_ShaderVariantLogLevel: 0 m_ShadowCascades: 0 superResolution: 14 - sSRenderScale: 4 + sSRenderScale: 3 vrsRate: 0 diff --git a/Assets/Settings/Mobile/Mobile_High_Renderer.asset b/Assets/Settings/Mobile/Mobile_High_Renderer.asset index 3b3ffd6..396e5a4 100644 --- a/Assets/Settings/Mobile/Mobile_High_Renderer.asset +++ b/Assets/Settings/Mobile/Mobile_High_Renderer.asset @@ -145,23 +145,24 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c3c4391133b9f3142b57264047029ec5, type: 3} m_Name: XESS m_EditorClassIdentifier: - m_Active: 1 + m_Active: 0 xess1ConfigParam: OutputWidth: 1920 OutputHeight: 1080 Quality: 103 - UseHiResMotionVectors: 1 + UseHiResMotionVectors: 0 UseJitteredMotionVectors: 0 - UseMotionVectorsInNDC: 0 + UseMotionVectorsInNDC: 1 UseExposureTexture: 0 UseResponsiveMask: 0 UseAutoExposure: 0 EnableProfiling: 0 - VelocityScaleX: 1 - VelocityScaleY: 1 + VelocityScaleX: -2 + VelocityScaleY: 2 JitterScaleX: 1 JitterScaleY: 1 ExposureScale: 1 + MipMapBias: -1.91 --- !u!114 &1524480044783497712 MonoBehaviour: m_ObjectHideFlags: 0 @@ -174,14 +175,14 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a6b8ba513f1b1fe499924f362fdde22d, type: 3} m_Name: GSR m_EditorClassIdentifier: - m_Active: 0 + m_Active: 1 v1settings: EnableEdgeDirection: 1 Mode: 1 Sharp: 2 GSRV1Material: {fileID: 2100000, guid: d57e64d5723127243b429034bed82c7d, type: 2} v2settings: - UseCompute2Pass: 1 + UseCompute2Pass: 0 GSRV2Material: {fileID: 2100000, guid: faa906817c0647f42a0cec70faeb91c1, type: 2} GSRV2ComputeShader: {fileID: 7200000, guid: 9a4e6ff1f9a33fa4ea1e9744e313e2fd, type: 3} FiveSample: 0 diff --git a/NativeRenderPlugin/features/xess1/xess.cpp b/NativeRenderPlugin/features/xess1/xess.cpp index 8951ce5..5c3c036 100644 --- a/NativeRenderPlugin/features/xess1/xess.cpp +++ b/NativeRenderPlugin/features/xess1/xess.cpp @@ -126,6 +126,8 @@ struct Xess1ConfigParam /// If enable GPU profiling. bool EnableProfiling; + bool InvertedDepth; + float VelocityScaleX; float VelocityScaleY; @@ -145,6 +147,7 @@ struct Xess1ExecParam void* ColorTexture; void* VelocityTexture; void* OutputTexture; + void* DepthTexture; }; bool XessV13::configxess(void* data) @@ -181,6 +184,10 @@ bool XessV13::configxess(void* data) { params.initFlags |= XESS_D3D12_DEBUG_ENABLE_PROFILING; } + if (config->InvertedDepth) + { + params.initFlags |= XESS_INIT_FLAG_INVERTED_DEPTH; + } params.pPipelineLibrary = nullptr; @@ -232,7 +239,7 @@ void XessV13::execute(void* data, ID3D12GraphicsCommandList* cmd_list) params.pColorTexture = (ID3D12Resource*)param->ColorTexture; params.pVelocityTexture = (ID3D12Resource*)param->VelocityTexture; params.pOutputTexture = (ID3D12Resource*)param->OutputTexture; - params.pDepthTexture = nullptr; + params.pDepthTexture = (ID3D12Resource*)param->DepthTexture; params.pExposureScaleTexture = nullptr; params.pResponsivePixelMaskTexture = nullptr; diff --git a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/Passes/PostProcessPass.cs b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/Passes/PostProcessPass.cs index 9562362..0a14a39 100644 --- a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/Passes/PostProcessPass.cs +++ b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/Passes/PostProcessPass.cs @@ -501,9 +501,11 @@ namespace UnityEngine.Rendering.Universal ref var colorDescriptor = ref cameraData.cameraTargetDescriptor; colorDescriptor.width = cameraData.camera.pixelWidth; colorDescriptor.height = cameraData.camera.pixelHeight; - - colorDescriptor.graphicsFormat = GraphicsFormat.R16G16B16A16_SFloat; - colorDescriptor.enableRandomWrite = true; // compute + if (asset.SuperResolution == ESuperResolution.XESS13) + { + colorDescriptor.graphicsFormat = GraphicsFormat.R16G16B16A16_SFloat; + colorDescriptor.enableRandomWrite = true; // compute + } renderer.m_ColorBufferSystem.SetCameraSettings(colorDescriptor, FilterMode.Bilinear); diff --git a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/ScriptableRenderer.cs b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/ScriptableRenderer.cs index 06288ee..4de6e9e 100644 --- a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/ScriptableRenderer.cs +++ b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/ScriptableRenderer.cs @@ -275,6 +275,7 @@ namespace UnityEngine.Rendering.Universal // Temporal Anti-aliasing can use negative mip bias to increase texture sharpness and new information for the jitter. float taaMipBias = Math.Min(cameraData.taaSettings.mipBias, 0.0f); mipBias = Math.Min(mipBias, taaMipBias); + // TODO: xyang Mip bias cmd.SetGlobalVector(ShaderPropertyId.globalMipBias, new Vector2(mipBias, Mathf.Pow(2.0f, mipBias))); //Set per camera matrices. diff --git a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SF/FG.cs b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SF/FG.cs index 78620d0..b821488 100644 --- a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SF/FG.cs +++ b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SF/FG.cs @@ -58,6 +58,7 @@ namespace X.Rendering.Feature public static void RecordFrame(RTHandle source, CommandBuffer cmd) { +#if UNITY_ANDROID && !UNITY_EDITOR presented = false; var index = frameIndex++ % 2; var desc = source.rt.descriptor; @@ -70,6 +71,8 @@ namespace X.Rendering.Feature RenderingUtils.ReAllocateIfNeeded(ref presentRt, desc); var history = historys[index]; cmd.Blit(source, history); +#endif + } } } diff --git a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SR/Scripts/XESS.cs b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SR/Scripts/XESS.cs index a26c222..b8b97a9 100644 --- a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SR/Scripts/XESS.cs +++ b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SR/Scripts/XESS.cs @@ -39,7 +39,7 @@ namespace X.Rendering.Feature public bool UseAutoExposure; /// If enable GPU profiling. public bool EnableProfiling; - + public bool InvertedDepth; public float VelocityScaleX; public float VelocityScaleY; @@ -47,6 +47,9 @@ namespace X.Rendering.Feature public float JitterScaleY; public float ExposureScale; + + [Range(-5,5)] + public float MipMapBias; }; [StructLayout(LayoutKind.Sequential)] @@ -61,6 +64,7 @@ namespace X.Rendering.Feature public IntPtr ColorTexture; public IntPtr VelocityTexture; public IntPtr OutputTexture; + public IntPtr DepthTexture; }; internal unsafe class XESS : ScriptableRendererFeature, ISuperResolutionFeature @@ -72,6 +76,7 @@ namespace X.Rendering.Feature private bool needTurnOffXess = false; IntPtr xess1ExecParamPtr; IntPtr xess1ConfigParamPtr; + private ProfilingSampler profiler; public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) { @@ -82,6 +87,7 @@ namespace X.Rendering.Feature xess1ExecParamPtr = Marshal.AllocHGlobal(sizeof(Xess1ExecParam)); xess1ConfigParamPtr = Marshal.AllocHGlobal(sizeof(Xess1ConfigParam)); needTurnOnXess = true; + profiler = new ProfilingSampler("Xess1"); } protected override void Dispose(bool disposing) @@ -91,8 +97,43 @@ namespace X.Rendering.Feature Marshal.FreeHGlobal(xess1ConfigParamPtr); } + static internal Matrix4x4 CalculateJitterMatrix(ref CameraData cameraData, out Vector2 jitter) + { + Matrix4x4 jitterMat = Matrix4x4.identity; + + jitter = Vector2.zero; + { + int taaFrameIndex = Time.frameCount; + + float actualWidth = cameraData.cameraTargetDescriptor.width; + float actualHeight = cameraData.cameraTargetDescriptor.height; + float jitterScale = cameraData.taaSettings.jitterScale; + + jitter = CalculateJitter(taaFrameIndex) * jitterScale; + + float offsetX = jitter.x * (2.0f / actualWidth); + float offsetY = jitter.y * (2.0f / actualHeight); + + jitterMat = Matrix4x4.Translate(new Vector3(offsetX, offsetY, 0.0f)); + } + + return jitterMat; + } + + static internal Vector2 CalculateJitter(int frameIndex) + { + // The variance between 0 and the actual halton sequence values reveals noticeable + // instability in Unity's shadow maps, so we avoid index 0. + float jitterX = HaltonSequence.Get((frameIndex & 1023) + 1, 2) - 0.5f; + float jitterY = HaltonSequence.Get((frameIndex & 1023) + 1, 3) - 0.5f; + + return new Vector2(jitterX, jitterY); + } + + public void DoSR(CommandBuffer cmd, RTHandle source, RTHandle destination, RTHandle motionVector, ref RenderingData renderingData) { + using var scp = new ProfilingScope(cmd, profiler); Xess1ExecParam* xessexecPtr = (Xess1ExecParam*) xess1ExecParamPtr.ToPointer(); xessexecPtr->ResetHistory = false; if (needTurnOnXess) @@ -111,6 +152,7 @@ namespace X.Rendering.Feature xesscfgPtr->UseJitteredMotionVectors = xess1ConfigParam.UseJitteredMotionVectors; xesscfgPtr->UseMotionVectorsInNDC = xess1ConfigParam.UseMotionVectorsInNDC; xesscfgPtr->UseResponsiveMask = xess1ConfigParam.UseResponsiveMask; + xesscfgPtr->InvertedDepth = xess1ConfigParam.InvertedDepth; xesscfgPtr->VelocityScaleX = xess1ConfigParam.VelocityScaleX; xesscfgPtr->VelocityScaleY = xess1ConfigParam.VelocityScaleY; xesscfgPtr->UseExposureTexture = xess1ConfigParam.UseExposureTexture; @@ -119,14 +161,24 @@ namespace X.Rendering.Feature cmd.IssuePluginEventAndData(RenderingPlugin.GetRenderEventAndDataFunc(), (int)RenderingPlugin.NativeRenderingEvent.UpdateXESS1Config, xess1ConfigParamPtr); xessexecPtr->ResetHistory = true; } + + var cameraData = renderingData.cameraData; + var camera = cameraData.camera; + Matrix4x4 projectionMatrix = camera.projectionMatrix; + Matrix4x4 jitterMat = CalculateJitterMatrix(ref cameraData, out Vector2 jitter); + cameraData.SetViewProjectionAndJitterMatrix(camera.worldToCameraMatrix, projectionMatrix, jitterMat); + cameraData.worldSpaceCameraPos = camera.transform.position; + + cmd.SetGlobalVector(ShaderPropertyId.globalMipBias, new Vector2(xess1ConfigParam.MipMapBias, Mathf.Pow(2.0f, xess1ConfigParam.MipMapBias))); xessexecPtr->InputWidth = source.referenceSize.x; xessexecPtr->InputHeight = source.referenceSize.y; xessexecPtr->ExposureScale = 1.0f; xessexecPtr->ColorTexture = source.rt.GetNativeTexturePtr(); xessexecPtr->VelocityTexture = motionVector.rt.GetNativeTexturePtr(); xessexecPtr->OutputTexture = destination.rt.GetNativeTexturePtr(); - xessexecPtr->Jitterx = 0; - xessexecPtr->Jittery = 0; + xessexecPtr->DepthTexture = renderingData.cameraData.renderer.cameraDepthTargetHandle.rt.GetNativeTexturePtr(); + xessexecPtr->Jitterx = -jitter.x; + xessexecPtr->Jittery = jitter.y; cmd.IssuePluginEventAndData(RenderingPlugin.GetRenderEventAndDataFunc(), (int)RenderingPlugin.NativeRenderingEvent.DoXESS1, xess1ExecParamPtr); if (needTurnOffXess) diff --git a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/TemporalAA.cs b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/TemporalAA.cs index de92686..5dcc574 100644 --- a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/TemporalAA.cs +++ b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/TemporalAA.cs @@ -297,12 +297,12 @@ namespace UnityEngine.Rendering.Universal return s; } } - - static internal Matrix4x4 CalculateJitterMatrix(ref CameraData cameraData) + static internal Matrix4x4 CalculateJitterMatrix(ref CameraData cameraData, out Vector2 jitter) { Matrix4x4 jitterMat = Matrix4x4.identity; bool isJitter = cameraData.IsTemporalAAEnabled(); + jitter = Vector2.zero; if (isJitter) { int taaFrameCountOffset = cameraData.taaSettings.jitterFrameCountOffset; @@ -312,7 +312,7 @@ namespace UnityEngine.Rendering.Universal float actualHeight = cameraData.cameraTargetDescriptor.height; float jitterScale = cameraData.taaSettings.jitterScale; - var jitter = CalculateJitter(taaFrameIndex) * jitterScale; + jitter = CalculateJitter(taaFrameIndex) * jitterScale; float offsetX = jitter.x * (2.0f / actualWidth); float offsetY = jitter.y * (2.0f / actualHeight); @@ -323,6 +323,11 @@ namespace UnityEngine.Rendering.Universal return jitterMat; } + static internal Matrix4x4 CalculateJitterMatrix(ref CameraData cameraData) + { + return CalculateJitterMatrix(ref cameraData, out var jitter); + } + static internal Vector2 CalculateJitter(int frameIndex) { // The variance between 0 and the actual halton sequence values reveals noticeable diff --git a/UserSettings/Layouts/default-2022.dwlt b/UserSettings/Layouts/default-2022.dwlt index fb9159a..13c98f1 100644 --- a/UserSettings/Layouts/default-2022.dwlt +++ b/UserSettings/Layouts/default-2022.dwlt @@ -43,7 +43,7 @@ MonoBehaviour: width: 2542 height: 1331 m_ShowMode: 4 - m_Title: Inspector + m_Title: Console m_RootView: {fileID: 13} m_MinSize: {x: 875, y: 321} m_MaxSize: {x: 10000, y: 10000} @@ -97,7 +97,7 @@ MonoBehaviour: m_MinSize: {x: 1000, y: 521} m_MaxSize: {x: 4000, y: 4021} vertical: 0 - controlID: 184 + controlID: 1238 draggingID: 0 --- !u!114 &5 MonoBehaviour: @@ -118,8 +118,8 @@ MonoBehaviour: y: 0 width: 1662 height: 759 - m_MinSize: {x: 202, y: 221} - m_MaxSize: {x: 4002, y: 4021} + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} m_ActualView: {fileID: 22} m_Panes: - {fileID: 22} @@ -150,7 +150,7 @@ MonoBehaviour: m_MinSize: {x: 200, y: 50} m_MaxSize: {x: 16192, y: 8096} vertical: 0 - controlID: 40 + controlID: 55 draggingID: 0 --- !u!114 &7 MonoBehaviour: @@ -202,7 +202,7 @@ MonoBehaviour: m_MinSize: {x: 200, y: 50} m_MaxSize: {x: 16192, y: 8096} vertical: 0 - controlID: 128 + controlID: 143 draggingID: 0 --- !u!114 &9 MonoBehaviour: @@ -228,7 +228,7 @@ MonoBehaviour: m_MinSize: {x: 300, y: 100} m_MaxSize: {x: 24288, y: 16192} vertical: 0 - controlID: 164 + controlID: 141 draggingID: 0 --- !u!114 &10 MonoBehaviour: @@ -249,8 +249,8 @@ MonoBehaviour: y: 0 width: 441 height: 1281 - m_MinSize: {x: 276, y: 71} - m_MaxSize: {x: 4001, y: 4021} + m_MinSize: {x: 275, y: 50} + m_MaxSize: {x: 4000, y: 4000} m_ActualView: {fileID: 20} m_Panes: - {fileID: 20} @@ -403,7 +403,7 @@ MonoBehaviour: m_MinSize: {x: 200, y: 100} m_MaxSize: {x: 16192, y: 16192} vertical: 1 - controlID: 127 + controlID: 142 draggingID: 0 --- !u!114 &17 MonoBehaviour: @@ -919,8 +919,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 9 - y: 841 + x: -32000 + y: -31211 width: 1399 height: 501 m_SerializedDataModeController: @@ -959,9 +959,9 @@ MonoBehaviour: m_IsLocked: 0 m_FolderTreeState: scrollPos: {x: 0, y: 0} - m_SelectedIDs: 7cbb0000 - m_LastClickedID: 47996 - m_ExpandedIDs: 000000004cb800004eb8000050b8000052b8000054b8000056b8000058b800005ab800005cb800005eb8000060b8000062b8000064b8000066b8000068b800006ab8000000ca9a3bffffff7f + m_SelectedIDs: 82bb0000 + m_LastClickedID: 48002 + m_ExpandedIDs: 0000000052b8000054b8000056b8000058b800005ab800005cb800005eb8000060b8000062b8000064b8000066b8000068b800006ab800006cb800006eb8000070b8000000ca9a3bffffff7f m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -989,7 +989,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: 000000004cb800004eb8000050b8000052b8000054b8000056b8000058b800005ab800005cb800005eb8000060b8000062b8000064b8000066b8000068b800006ab80000 + m_ExpandedIDs: 0000000052b8000054b8000056b8000058b800005ab800005cb800005eb8000060b8000062b8000064b8000066b8000068b800006ab800006cb800006eb8000070b80000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1065,8 +1065,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 2110 - y: 82 + x: -29899 + y: -31970 width: 440 height: 1260 m_SerializedDataModeController: @@ -1112,8 +1112,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 9 - y: 82 + x: -32000 + y: -31970 width: 438 height: 738 m_SerializedDataModeController: @@ -1129,9 +1129,9 @@ MonoBehaviour: m_SceneHierarchy: m_TreeViewState: scrollPos: {x: 0, y: 0} - m_SelectedIDs: 7cbb0000 + m_SelectedIDs: 48030000 m_LastClickedID: 0 - m_ExpandedIDs: 3afaffff + m_ExpandedIDs: 46faffff m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1175,8 +1175,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 448 - y: 82 + x: -31561 + y: -31970 width: 1660 height: 738 m_SerializedDataModeController: @@ -1273,8 +1273,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 1409 - y: 841 + x: -30600 + y: -31211 width: 699 height: 501 m_SerializedDataModeController: