forked from bartvdbraak/blender
Fix #35807: blender internal motion blur render without antialiasing would
give black speckles (self intersection errors) in raytraced shadows. Motion blur does some extra offsets for free antialiasing in the motion blur samples, but did not take them into account everywhere.
This commit is contained in:
parent
a384612cce
commit
a92468c7d7
@ -1416,6 +1416,10 @@ void shade_samples_fill_with_ps(ShadeSample *ssamp, PixStr *ps, int x, int y)
|
||||
xs = (float)x + R.samples->centLut[b & 15] + 0.5f;
|
||||
ys = (float)y + R.samples->centLut[b >> 4] + 0.5f;
|
||||
}
|
||||
else if (R.i.curblur) {
|
||||
xs= (float)x + R.mblur_jit[R.i.curblur-1][0] + 0.5f;
|
||||
ys= (float)y + R.mblur_jit[R.i.curblur-1][1] + 0.5f;
|
||||
}
|
||||
else {
|
||||
xs = (float)x + 0.5f;
|
||||
ys = (float)y + 0.5f;
|
||||
|
@ -3824,6 +3824,10 @@ static void shade_tra_samples_fill(ShadeSample *ssamp, int x, int y, int z, int
|
||||
xs= (float)x + R.samples->centLut[b & 15] + 0.5f;
|
||||
ys= (float)y + R.samples->centLut[b>>4] + 0.5f;
|
||||
}
|
||||
else if (R.i.curblur) {
|
||||
xs= (float)x + R.mblur_jit[R.i.curblur-1][0] + 0.5f;
|
||||
ys= (float)y + R.mblur_jit[R.i.curblur-1][1] + 0.5f;
|
||||
}
|
||||
else {
|
||||
xs= (float)x + 0.5f;
|
||||
ys= (float)y + 0.5f;
|
||||
|
Loading…
Reference in New Issue
Block a user