5e40b9bb5cefdaca2d88bb6316e180b2bdf929db
This multiscattering term comes from the OpenPBR specification and nicely preserves energy while correctly modeling increased saturation at high roughness. Preparation for adding a diffuse roughness option to the Principled BSDF. To me, the difference in output and computation seems small enough to not need an enum for the old behavior. Note that this also switches sampling to cosine-weighted, in my tests this gives lower noise. I also checked doing MIS between cosine and uniform, using the A term as a weight for how often to use cosine (since that term is Lambertian diffuse), but always using cosine was better. A nice consequence of that is that you don't get a huge noise jump when going from 0.0 to 0.01 roughness. Pull Request: https://projects.blender.org/blender/blender/pulls/123345
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
