diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 5dd2f53f4b0..4f44be46ea2 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -197,6 +197,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - added SV_PrimitiveID in the VaryingMesh structure for fulldebugscreenpass as well as primitiveID in FragInputs - Changed which local frame is used for multi-bounce RTReflections. - Move System Generated Values semantics out of VaryingsMesh structure. +- Other forms of FSAA are silently deactivated, when path tracing is on. ## [10.0.0] - 2019-06-10 diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs index ed03ad9ab08..957da59a98a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs @@ -92,6 +92,7 @@ private enum SMAAStage ShadowsMidtonesHighlights m_ShadowsMidtonesHighlights; ColorCurves m_Curves; FilmGrain m_FilmGrain; + PathTracing m_PathTracing; // Prefetched frame settings (updated on every frame) bool m_ExposureControlFS; @@ -367,6 +368,7 @@ public void BeginFrame(CommandBuffer cmd, HDCamera camera, HDRenderPipeline hdIn m_ShadowsMidtonesHighlights = stack.GetComponent(); m_Curves = stack.GetComponent(); m_FilmGrain = stack.GetComponent(); + m_PathTracing = stack.GetComponent(); // Prefetch frame settings - these aren't free to pull so we want to do it only once // per frame @@ -386,6 +388,9 @@ public void BeginFrame(CommandBuffer cmd, HDCamera camera, HDRenderPipeline hdIn m_DitheringFS = frameSettings.IsEnabled(FrameSettingsField.Dithering); m_AntialiasingFS = frameSettings.IsEnabled(FrameSettingsField.Antialiasing); + // Override full screen anti-aliasing when doing path tracing (which is naturally anti-aliased already) + m_AntialiasingFS &= !m_PathTracing.enable.value; + m_DebugExposureCompensation = m_HDInstance.m_CurrentDebugDisplaySettings.data.lightingDebugSettings.debugExposure; CheckRenderTexturesValidity(); @@ -584,7 +589,7 @@ void PoolSource(ref RTHandle src, RTHandle dst) // If Path tracing is enabled, then DoF is computed in the path tracer by sampling the lens aperure (when using the physical camera mode) bool isDoFPathTraced = (camera.frameSettings.IsEnabled(FrameSettingsField.RayTracing) && - camera.volumeStack.GetComponent().enable.value && + m_PathTracing.enable.value && camera.camera.cameraType != CameraType.Preview && m_DepthOfField.focusMode == DepthOfFieldMode.UsePhysicalCamera);