Render difference with big quad light and ray visibility
Open, ConfirmedPublic

Description

System Information
all vendors

Blender Version
Broken: 1ebc14064b
Worked: 2.79a

Short description of error
some parts of principled shader render very glossy in latest master

Exact steps for others to reproduce the error
Open attached file

, render.
In 2.79a you get this (correct):

and in latest master this:

Note that I replaced wood tex by voronoi in file, but differences are also obvious.

Details

Type
Bug

Related Objects

mathieu menuet (bliblubli) renamed this task from principled shader looks like wet in latest master to Regression: principled shader looks like wet in latest master.Sun, Apr 1, 5:50 PM
mathieu menuet (bliblubli) edited projects, added Cycles; removed BF Blender.
Brecht Van Lommel (brecht) triaged this task as Incomplete priority.Sun, Apr 1, 7:10 PM

I see some difference in the intensity of the specular in the attached .blend, but nothing that looks like the attached renders. The file has some extreme color management settings as well, after setting that to the default I don't see anything obviously wrong. There have been some bugfixes that are known to affect the look.

Can you attach a simple .blend that shows the problem more clearly? Please also state the operating system so we can rule that out.

OS is Linux. If the difference seen in the attached blend is not enough, I'll try to find a free wood texture alternative. The materials in the renders above are copyrighted by evermotion.

@Brecht Van Lommel (brecht) which bugfix commits touched the specular part of principled shader ?

Do you need a texture at all? Just remove as much as possible from the scene and shader nodes and probably you can reproduce it with some fixed values?

There's lots of changes that could affect this scene, I can't easily make a list of them.

ok, I hope I nailed it.
stable:


Master:

@Brecht Van Lommel (brecht), it's much more subtle in this case, but should be the same thing happening. The master render has a much darker specularity than stable, like in the wood renders in first post.

Brecht Van Lommel (brecht) raised the priority of this task from Incomplete to Confirmed.Sun, Apr 1, 9:06 PM

This seems to be an old (known) issue with ray visibility and multiple importance sampling, where only the BSDF sampled rays take ray visibility into account. Due to the new quad light sampling the light sampled rays have a higher weight which shows that old bug more clearly. It happens with diffuse as well, has nothing to do with specular specifically.

Not sure if we can solve this well or if it'll be considered a known limitation still, will look at it.

Brecht Van Lommel (brecht) renamed this task from Regression: principled shader looks like wet in latest master to Render difference with big quad light and ray visibility.Sun, Apr 1, 9:07 PM

As this pack https://evermotion.org/shop/show_product/archinteriors-vol-43-for-blender/14563 has just been released this week, it would be great if user had an option so that it's not already broken in buildbot/next release. Blender just starts to appear on one of the most renown visualization website.

A real fix would be great, but if it's not possible, maybe it's possible to offer the old behavior as an option. The lamp material panel has a lot of room available.

@Brecht Van Lommel (brecht) so if I understand you right, this also explains the much higher noise levels in these scene (see pictures). This scene is lighten by portals with windows set to be only visible by camera. But indeed, although those windows are only hit by not camera rays, removing the windows completely greatly improves lightning and noise in latest master. So it showcases what you said about ray visibility. Here is a comparison of scene 10 from archinteriors 43 for Blender in master and stable:
2.79a = low level noise:


buildbot = very high noise level:

I tried to reproduce it in a simple scene (a box with principled on multiscatter GGX, one opening, 1 portal and one window with only camera visibility), but somehow, the bug doesn't show up in master with this file. Making it a bit more complexe with some textures and objects to occlude and have more bounces show a clear difference in noise pattern, but not really noise levels. Complex and real use case scene on the other hand show clearly that 2.79a has a much better noise level, but I couldn't find yet, what the reason is. Keeping only the walls, windows and lights in the living room/kitchen scene above rendered significantly darker in master compared to 2.79a.

Note that on the renders in first post, the bug also sometime disappeared when some objects where removed, which should normally not really have been contributing in any sens to the final lightning (small or far away from the wood floor).

Russian roulette changes can cause increased noise. We hope that these are offset by reduced render time, so for a proper comparison at least an equal time render must be done. Even then there will be some scenes that are noisier, since it's a trade-off.

@Brecht Van Lommel (brecht) I changed line 235 of kernel_path_state.h from

min(sqrtf(max3(fabs(throughput)) * state->branch_factor), 1.0f);

to

average(throughput);

and it actually made the noise worse in latest master, so in fact, the RR changes mitigate the noise level. Or did you speak of another change? I took https://git.blender.org/gitweb/gitweb.cgi/blender.git/commitdiff/cd023b6cecb7b8c74de1d16510ad09668b86001f

the difference in noise level in https://developer.blender.org/T54486#491645 are really due to the windows which should be completely ignored due to their visibility set to only camera rays. 2.79a ignores them, latest master not. When I render without the windows, both stable and master render the same image.

That's probably the main change, but note that commit changes both the RR continuation probability and removed RR min bounces.

And the windows being ignored or not is the quad light + ray visibility problem I referred to above.

@Brecht Van Lommel (brecht) yep, so we agree, it's this same bug that makes the wood floor look strange and adds the noise in the other scene.

No, they're different issues.