diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 8a583aaffe3..780f4952e50 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -583,6 +583,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed issue with reflection probes in realtime time mode with OnEnable baking having wrong lighting with sky set to dynamic (case 1238047). - Fixed transparent motion vectors not working when in MSAA. - Fix error when removing DecalProjector from component contextual menu (case 1243960) +- Fixed issue with post process when running in RGBA16 and an object with additive blending is in the scene. ### Changed - Improve MIP selection for decals on Transparents diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/UberPost.compute b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/UberPost.compute index 223aeabc3fc..8a0b252c5a1 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/UberPost.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/UberPost.compute @@ -218,7 +218,8 @@ void Uber(uint3 dispatchThreadId : SV_DispatchThreadID) // Alpha mask #ifdef ENABLE_ALPHA // Post processing is not applied on pixels with zero alpha - color.xyz = lerp(inputColor.xyz, color.xyz, inputColor.a); + // Saturate is necessary to avoid issues when additive blending pushes the alpha over 1. + color.xyz = lerp(inputColor.xyz, color.xyz, saturate(inputColor.a)); #endif // Done