Now that the math is good, and there aren't any known issues, I think this PR might be ready. The only things left to do are things I can't do myself: test with Metal, and update localization.
I have not been able to make it look correct with multiplying by W instead of dividing. Since it works correctly as is, I'm going to consider this resolved.
@JulienKaspar good catch! It took a while to figure this bug out, but it should be fixed now. Turns out I was reusing a variable intended for another shader, so whichever was used first would be…
I would like to improve selection, but not in this pull request. If we keep adding onto the scope it'll never get merged.
I have noticed this issue, though it doesn't bother me that much because I don't rely on box/lasso/etc select. It would be much better if you could only select visible geometry, but I have no…
Perhaps it's important to note how the bias is calculated.
float retopology_bias = (show_retopology) ?
((rv3d->is_persp) ?
…