-
Notifications
You must be signed in to change notification settings - Fork 855
[VFX/URP] Fix decal with overlay & scale #5401
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The URP implementation relies on screen scale & graphics api See https://github.com/Unity-Technologies/Graphics/blob/b468fa4627d191f06200a0f33df3d9cddee2c3f9/com.unity.render-pipelines.universal/ShaderLibrary/ShaderVariablesFunctions.hlsl#L347
This reverts commit b8bfebb.
…tly overlay when there is a renderScale)
In discussion with @ludovic-theobald about this behavior.
com.unity.render-pipelines.high-definition/Editor/VFXGraph/Shaders/VFXDecal.template
Show resolved
Hide resolved
There is probably something wrong in SetPerCameraShaderVariables
# Conflicts: # com.unity.render-pipelines.universal/CHANGELOG.md
# Conflicts: # com.unity.render-pipelines.universal/CHANGELOG.md
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the fix, Paul. Couldn't find any outstanding issues related to PR. 🟢
URP: Retested Render Scale, tweaked various camera settings, built standalone
HDRP: Checked Transparent Render Queue, tweaked Dynamic Resolution settings, built standalone (used HDRP decal output for tests)
Double check at 19b5a36 the behavior is still valid: |
* Use abstraction to compute screen space uv The URP implementation relies on screen scale & graphics api See https://github.com/Unity-Technologies/Graphics/blob/b468fa4627d191f06200a0f33df3d9cddee2c3f9/com.unity.render-pipelines.universal/ShaderLibrary/ShaderVariablesFunctions.hlsl#L347 * *Add Graphics Test * Experiment : Revert Pass.template from #4601 * Enable GraphicTest & add RenderScale * Revert "Experiment : Revert Pass.template from #4601" This reverts commit b8bfebb. * Fix overlay decal * *Update test Scene * *Remove 104_Decal_And_SoftParticle (Graphic Test can't capture correctly overlay when there is a renderScale) * Remove unexpected "if (_ProjectionParams.x < 0)" & Update ChangeLog In discussion with @ludovic-theobald about this behavior. * Restore actually correct _ProjectionParams.x test There is probably something wrong in SetPerCameraShaderVariables * Revert change in URP * Minor: Apply suggestion from @julienf #5401 (comment) * Unexpected change in changelog * Unexpected modification in CHANGELOG.md * Fix changelog ordering Co-authored-by: julienf-unity <julienf@unity3D.com> # Conflicts: # com.unity.render-pipelines.universal/CHANGELOG.md
* Use abstraction to compute screen space uv The URP implementation relies on screen scale & graphics api See https://github.com/Unity-Technologies/Graphics/blob/b468fa4627d191f06200a0f33df3d9cddee2c3f9/com.unity.render-pipelines.universal/ShaderLibrary/ShaderVariablesFunctions.hlsl#L347 * *Add Graphics Test * Experiment : Revert Pass.template from #4601 * Enable GraphicTest & add RenderScale * Revert "Experiment : Revert Pass.template from #4601" This reverts commit b8bfebb. * Fix overlay decal * *Update test Scene * *Remove 104_Decal_And_SoftParticle (Graphic Test can't capture correctly overlay when there is a renderScale) * Remove unexpected "if (_ProjectionParams.x < 0)" & Update ChangeLog In discussion with @ludovic-theobald about this behavior. * Restore actually correct _ProjectionParams.x test There is probably something wrong in SetPerCameraShaderVariables * Revert change in URP * Minor: Apply suggestion from @julienf #5401 (comment) * Unexpected change in changelog * Unexpected modification in CHANGELOG.md * Fix changelog ordering Co-authored-by: julienf-unity <julienf@unity3D.com> # Conflicts: # com.unity.render-pipelines.universal/CHANGELOG.md
Purpose of this PR
Fix regression (not logged) on overlay introduced by [VFX] HDRP Decal Output #4601 (see this change : 776655f)We opened a dedicated fogbugz for this URP issue https://fogbugz.unity3d.com/f/cases/1368762/=> Fixed 🟢Testing status
I pushed the debug scene.

Before
After

However, I can't use this scene for graphicTest because the framework doesn't correctly save the result when there is an overlay :

⚠️ The overlay fix has been reverted and will be independently fixed. ⚠️
Also, testing manually with renderscale update modification:

Comments to reviewers
This PR follows up with several fixes done in this change : #4733
@Unity-Technologies/gfx-qa-vfx This change also impacts newly introduced HDRP decals but, afaik, HDRP is never using rendering without offscreen texture.