Fix T85726 Workbench: Orthographic view is blurry

This was caused by the window_translate_m4 not offsetting the winmat in the
right direction for perspective view. Thus leading to incorrect weights.
The workbench sample weight computation was also inverted.

This fix will change the sampling pattern for EEVEE too (it will just
mirror it in perspective view).
This commit is contained in:
Clément Foucault
2021-02-24 11:24:49 +01:00
parent 1a427973b4
commit bb2af40ec7
2 changed files with 3 additions and 3 deletions

View File

@@ -4886,8 +4886,8 @@ void window_translate_m4(float winmat[4][4], float perspmat[4][4], const float x
len1 = (1.0f / len_v3(v1));
len2 = (1.0f / len_v3(v2));
winmat[2][0] += len1 * winmat[0][0] * x;
winmat[2][1] += len2 * winmat[1][1] * y;
winmat[2][0] -= len1 * winmat[0][0] * x;
winmat[2][1] -= len2 * winmat[1][1] * y;
}
else {
winmat[3][0] += x;

View File

@@ -285,7 +285,7 @@ static void workbench_antialiasing_weights_get(const float offset[2],
for (int x = -1; x <= 1; x++) {
for (int y = -1; y <= 1; y++, i++) {
float sample_co[2] = {x, y};
add_v2_v2(sample_co, offset);
sub_v2_v2(sample_co, offset);
float r = len_v2(sample_co);
/* fclem: is radial distance ok here? */
float weight = filter_blackman_harris(r, filter_width);