Use non jittered projection in outline pass #4836
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose of this PR
Partial fix for https://fogbugz.unity3d.com/f/cases/1304189/
Fix outline rendering when TAA is enabled on the scene view (needs always refresh enabled)
The fix from aras for outline was apparently not working anymore because outline shader user the jittered matrix, and it caused flickering


before:
after:
This PR does not fix gizmo flickering though
This doesn't seem possible by using the same method as the one for the outline, because changing the depth offset for intersecting geometry just moves the intersection elsewhere, but does not remove it. For outline it does, because the issue is z-fighting
Testing status
Tested outline rendering for AxF, Unlit, Lit, LayeredLit, LitTessellation, LayeredLitTessellation, SG with/without tessellation
For tessellated shaders, we don't have access to the non jittered matrix frustum planes, so the outline tessellation is a bit different from the object tessellation in some case like this one, but it's minor i think
