Blender Git Commit Log

All Blender Git commits.

Page: 922 / 8462

February 14, 2021, 17:06 (GMT)
Sculpt Expand: Fix wrong expandcache ref when finishing expand
February 14, 2021, 16:45 (GMT)
Sculpt Expand: Render the origin of expand as part of the cursor
February 14, 2021, 16:42 (GMT)
Merge branch 'master' into sculpt-dev
February 14, 2021, 16:07 (GMT)
Cycles: Implement Dwivedi guiding for path-traced subsurface scattering

Cycles has supported path-traced subsurface scattering for a while, but while it's
more accurate than other approaches, the increase in noise makes it an expensive option.

To improve this, this patch implements Dwivedi guiding, a technique that is based on
zero-variance random walk theory from particle physics and helps to produce shorter
random walks with more consistent throughput.

The idea behind this is that in non-white materials, each scattering event inside the
medium reduces the path throughput. Therefore, the darker the material is, the lower the
contribution of paths that travel far from the origin is.
In order to reduce variance, Dwivedi guiding uses modified direction and distance sampling
functions that favor paths which go back towards the medium interface.
By carefully selecting these sampling distributions, variance can be greatly reduced, and
as a neat side effect shorter paths are produced, which speeds up the process.

One limitation of just blindly applying this is that the guiding is derived from the
assumption of a medium that covers an infinite half-space. Therefore, at corners or thin
geometry where this does not hold, the algorithm might lead to fireflies.
To avoid this, the implementation here uses MIS to combine the classic and guided sampling.
Since each of those works on one of the three color channels, the final estimator combines
six sampling techniques. This results in some unintuitive math, but I tried to structure
it in a way that makes some sense.

Another improvement is that in areas where the other side of the mesh is close (e.g. ears),
the algorithm has a chance to switch to guiding towards the other side. This chance is based
on how deep the random walk is inside the object, and once again MIS is applied to the
decision, giving a total of nine techniques.

Combining all this, the noise of path-traced subsurface scattering is reduced significantly.
In my testing with the Rain character model and a simple lighting setup, the path-traced
SSS is now actually less noisy than the Christensen-Burley approximation at same render time
while of course still being significantly more realistic.

Differential Revision: https://developer.blender.org/D9932
February 14, 2021, 09:58 (GMT)
Cleanup: spelling
February 14, 2021, 08:56 (GMT)
cmake/deps: Update mesa to 20.3.4

This resolves build error with Py3.9x, use meson build system
since autoconf/automake are no longer supported.

This adds ninja & meson as dependencies for Linux.

Reviewed By: brecht, sybren

Ref D10282
February 14, 2021, 03:30 (GMT)
Merge branch 'master' into temp-geometry-nodes-instances-api-v2
Revision 0bc281a by Hans Goudey (master)
February 14, 2021, 03:27 (GMT)
Cleanup: Simplify geometry nodes attribute API usage

Getting an "ouput" attribute is equivalent to creating an attribute and
then getting a write attribute. Replace the latter with the former for
consistency with other code, and to decrease the used surface area
of the attribute API to hopefully facilitate future cleanup.
February 14, 2021, 03:06 (GMT)
Merge branch 'master' into temp-geometry-nodes-instances-api-v2
February 14, 2021, 01:18 (GMT)
Cleanup: use doxy sections
February 14, 2021, 00:44 (GMT)
Cleanup: use return argument prefix
February 14, 2021, 00:44 (GMT)
Cleanup: correct/update comments
February 14, 2021, 00:27 (GMT)
Cleanup: unused function
February 14, 2021, 00:20 (GMT)
Cleanup: remove commented logic for Alt-Pad0 to use previous camera

While this could be useful, it's been removed since 2.4x, keeping this
here doesn't help add it back since it would need to be re-implemented.
February 14, 2021, 00:19 (GMT)
Cleanup: spelling
February 13, 2021, 23:23 (GMT)
Cleanup: Source Code Typos

Corrects approximately 36 spelling errors in source variable names.

Differential Revision: https://developer.blender.org/D10347

Reviewed by Hans Goudey
February 13, 2021, 18:08 (GMT)
EEVEE: Fix glass with sharp distribution not ignoring roughness
February 13, 2021, 17:55 (GMT)
EEVEE: Change cubemap roughness fit

This changes the roughness mapping to better utilize the mip chain resolution.
This improves glossy reflections with small roughness.

Lightcache version bumped because old data does not have the same roughness
mapping and cannot be used.
February 13, 2021, 17:53 (GMT)
EEVEE: Update Offline LUT

This follows a change in the LUT generation code.
February 13, 2021, 17:52 (GMT)
EEVEE: Update LUT GGX generation shader

This modifies the principled BSDF and the Glass BSDF which now
have better fit to multiscatter GGX.

Code to generate the LUT have been updated and can run at runtime.

The refraction LUT has been changed to have the critical angle always
centered around one pixel so that interpolation can be mitigated.

Offline LUT data will be updated in another commit

This simplify the BTDF retreival removing the manual clean cut at
low roughness. This maximize the precision of the LUT by scalling
the sides by the critical angle.
I also touched the ior > 1.0 approximation to be smoother.

Also incluse some cleanup of bsdf_sampling.glsl
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021