Pick normals using a 3x3 viewport #1177
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.
It seems that partiale derivatives don't work very well on a 1x1 viewport. Indeed, picked normals have a flipped direction sometimes. It may be due to the fact that fragments are computed using 2x2 block, and partiale derivative use this implementation to compute de derivative across neighbouring fragment... Pure supposition but using a 3x3 viewport fix the normal flipped direction issue.
Also, this PR slightly update the lines added for picking (as it is the same for picking normals). Indeed, it adds the
_uDrawingBufferSize
uniform for all pick renderer + uses it in the clip space remapping function to be more correct.