Weird bake results with non integer color values #47727
Geforce GTX 960
Broken: (example: 2.77 RC2)
Short description of error
Baking Diffuse and Glossy channels we get weird results when your color need to use the float precision.
Baking with color (1,0,0) in Diffuse BSDF Node:
Baking with color (1,0.1,.01) in Diffuse BSDF Node:
That bug seams to happen too with the Glossy pass using Glossy BSDF Node.
Exact steps for others to reproduce the error
Change the current active node conected to the output
Change the pass that you want to bake.
Check the results
The link to the wrong result:
I can't reproduce the issue on OSX
ec99778 (master - own build)
I'm still getting this problem here with both GPU and CPU render.
GTX 960 4GB
Another .blend example with this problem. Just change the Diffuse Node, bake and check the results. I could confirm that this problem was happening in Blender 2.76 also.
Does it happen every single time? Or is it only eventually?
Every single time.
Also why that was marked as "Incomplete"? It seams a very completed report to me.
Incomplete also means 'waiting further info from reporter'…
You are only baking indirect light component which is not supposed to have any color information in it. So your expectation of wrong and correct baking results are inverted.
Will commit fix which makes sure light pass gets properly divided by color shortly.
This issue was referenced by
I can reproduce it on Debian.
But the patch doesn't fix the problem.
Before the patch the direct light was buggy.
After the patch the indirect light is buggy.
@Sergey As I understand it indirect light has to carry color information from surface to surface.
About direct light I'm not sure. It was something like object color + AO, as I remember.
I'm sure @brecht will correct me.
Indirect looks correct to me. It's still red, but that's because it's only showing light reflected off red surfaces. If you place the object in an environment with different colored surfaces those colors will show up in the indirect pass too. Direct light can have colors too if you use colored lamps.
Seems that baking produces wrong results only for the RGB(1; 0; 0) diffuse color case.
The intermediate values are ok.
That's what Sergey's commit is supposed to fix, are you sure you're using a build with the fix included? The ones on builder.blender.org don't include the fix yet.
Yes I compiled it myself, hash
Hmm, thats strange: To produce correct indirect diffuse color, all RGB channels have to be non-zero.
If only one channel is non-zero then the result is always grey. (although there are different colored objects that should reflect their light onto the baked object)
Can someone confirm this?
Sorry for the noise. I came to the conclusion that my understanding of correct and incorrect is wrong.
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?