Blender Git Statistics -> Developers -> Mikhail
Mikhail (Mikhail)
Total Commits : 3
Master Commits : 2
Branch Commits : 1
First Commit : March 3, 2021
Latest Commit : March 15, 2021
Commits by Month
Date | Number of Commits | |
---|---|---|
March, 2021 | 3 |
Commit Distribution
Path | Number of Commits |
---|---|
master | 2 |
asset-system-filelist | 1 |
asset-browser-poselib | 1 |
asset-browser | 1 |
ui-asset-view-template | 1 |
temp-pose-flipping-fix-attempt | 1 |
Favourite Files
Filename | Total Edits |
---|---|
eevee_subsurface.c | 2 |
effect_subsurface_frag.glsl | 2 |
kernel_montecarlo.h | 1 |
stdcycles.h | 1 |
File Changes
Action | Total | Per Commit |
---|---|---|
Modified | 6 | 2.0 |
Code Changes
Action | Total | Per Commit |
---|---|---|
Lines Added | 70 | 23.3 |
Lines Removed | 176 | 58.7 |
Latest commits
March 15, 2021, 17:01 (GMT) |
Cycles: optimize ensure_valid_reflection(), reduces render time by about 1% This is an implementation that is about 1.5-2.1 times faster. It gives a result that is on average 6� different from the old implementation. The difference is because normals (Ng, N, N') are not selected to be coplanar, but instead reflection R is lifted the least amount and the N' is computed as a bisector. Differential Revision: https://developer.blender.org/D10084 |
Revision 2606f57 by Mikhail / Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt, ui-asset-view-template) March 3, 2021, 17:15 (GMT) |
EEVEE: SSS: Fix light leaking bewteen object at different depths The SSS shader in Eevee has the following drawbacks (elaborated in {T79933}): 1. Glowing 2. Ringing. On low SSS jittering it is rendered a bunch of sharp lines 3. Overall blurriness due to the nature of the effect 4. Shadows near occlusions as in T65849 5. Too much SSS near the edge and on highly-tilted surfaces {F9438636} {F9427302} In the original shader code there was a depth correction factor, as far as I can understand for fixing light bleeding from one object to another. But it was scaled incorrectly. I modified its scale to depend on SSS scale*radius and made it independent from the scene scale. The scale parameter (`-4`) is chosen so that it makes tilted surfaces to have visually the same SSS radius as straight surfaces (surfaces with normal pointed directly to the camera). This depth correction factor alone fixes all the problems except for ringing (pt. 2). Because of float-point precision errors and irradiance interpolation some samples near the border of an object might leak light, causing sparkly or dashed (because of aliasing) patterns around the highlights. Switching from `texture()` to `texelFetch()` fixes this problem and makes textures on renders visually sharper. An alternative solution would be to detect object borders and somehow prevent samples from crossing it. This can be done by: 1. Adding an `object_id` texture. I think it requires much more code changing and makes the shader more complicated. Again, `object_id` is not interpolatable. 2. Watch gradient of depth and discard samples if the gradient is too big. This solution depends on scene scale and requires more texture lookups. Since SSS is usually a minor effect, it probably doesn't require that level of accuracy. I haven't notice it in practice, but I assume it can make visible SSS radius slightly off (up to 0.5 px in screen space, which is negligible). It is completely mitigated with render sampling. Reviewed By: Cl�ment Foucault Differential Revision: https://developer.blender.org/D9740 |
March 3, 2021, 13:57 (GMT) |
EEVEE: SSS: Fix light leaking bewteen object at different depths The SSS shader in Eevee has the following drawbacks (elaborated in {T79933}): 1. Glowing 2. Ringing. On low SSS jittering it is rendered a bunch of sharp lines 3. Overall blurriness due to the nature of the effect 4. Shadows near occlusions as in T65849 5. Too much SSS near the edge and on highly-tilted surfaces {F9438636} {F9427302} In the original shader code there was a depth correction factor, as far as I can understand for fixing light bleeding from one object to another. But it was scaled incorrectly. I modified its scale to depend on SSS scale*radius and made it independent from the scene scale. The scale parameter (`-4`) is chosen so that it makes tilted surfaces to have visually the same SSS radius as straight surfaces (surfaces with normal pointed directly to the camera). This depth correction factor alone fixes all the problems except for ringing (pt. 2). Because of float-point precision errors and irradiance interpolation some samples near the border of an object might leak light, causing sparkly or dashed (because of aliasing) patterns around the highlights. Switching from `texture()` to `texelFetch()` fixes this problem and makes textures on renders visually sharper. An alternative solution would be to detect object borders and somehow prevent samples from crossing it. This can be done by: 1. Adding an `object_id` texture. I think it requires much more code changing and makes the shader more complicated. Again, `object_id` is not interpolatable. 2. Watch gradient of depth and discard samples if the gradient is too big. This solution depends on scene scale and requires more texture lookups. Since SSS is usually a minor effect, it probably doesn't require that level of accuracy. I haven't notice it in practice, but I assume it can make visible SSS radius slightly off (up to 0.5 px in screen space, which is negligible). It is completely mitigated with render sampling. Reviewed By: Cl�ment Foucault Differential Revision: https://developer.blender.org/D9740 |
MiikaHweb - Blender Git Statistics v1.06