For a few months now I’ve been playing around with adaptive subdivision displacement and comparing the results to the bump node.
For most subtle bump maps, if used as real geometry displacement, they really only look sensible if the amount the geometry is displaced is only around 1 millimeter or two.
If we consider a value of 0.001 in Bump Distance and 2 in Bump Strength to mean 2 millimeters, then it looks a lot closer to when I was using the bump map texture as real displacement that was moving the geometry around by only about 1 millimeter.
My real questions are:
(1) why exactly does the Bump Node default to the values 1 and 1?
(2) are my assumptions / “discovery” / opinions written above, correct or incorrect?
- Because it’s Blender, where defaults aren’t supposed to make sense. Distance 1 - slope created from black to white pixel - might make sense on a terrain. I typically use a math/divide node to get the distance even smaller than can be shown with the limited accuracy, say 0.1/1000 for a 0.1mm bump distance.
- I only use strength as a modulator. Typically I leave it at 1 and where critical I check that bump distance changes the normals in the same amount as when using real microdisplacement. Previewing the maths using microdisplacement also ensures there are no discontinuities in the calculation and that the peak/valley is going in the correct direction. One thing bump can uniquely do, is show a peak on both sides using flipped direction for the backside.
I’m amazed how many tutorials show wrong use of bump node.
For normal comparison I use a sharp glossy reflecting environment map - the same parts on a flat plate should be reflected on the flat parts and the bumped parts, for both bumped and microdisplaced versions.
Is that the thing that causes light leaking all over the damn scene if the bump strength is too high?
If displace node used as bump doesn’t ever do that, then that Is that good enough reason for me to NEVER use the bump node again. There is also a bug report about the bump node results not looking as good as displace node results. I have seen this effect myself several times.
I don’t quite understand what you’re talking about.
If you scale your object, then you must use “Object > Apply > Scale” for true Displacement scale.
1x1 m. object is not same as 10x10 m. object for Bump Node, but for Displacement Node, they are same.
Bump Node method is correct for Real Life units.
If you select “World Space” rather than “Object Space”, Displacement works like Bump Node.
I doubt it, as this is something you’d setup for special purposes. Then again, not sure what “strength too high” means - I pretty much always use 1. I use the mentioned technique to fake i.e. the thickness of metal rings on a curtain, where both sides will appear to protrude like a circular cross section even if the geometry itself is thin. Using geometry/backfacing to mix between bump and inverted bump.
Link to this? Three things bump/normal maps will never be able to achieve; 1) Masking, 2) Shadowing, 3) Shadow distortions (although we could do it/fake it with deep access to shading). So no, bump/normal maps will never be able to look “as good” as real displacement. But it saves memory in heaps, and it works with instanced objects far from the source.
On the planet, the bad effect is exaggerated by using the bump wrong (although I increased the diffuse roughness to 0.6). Swapping strength and distance makes it better, and the high distance makes sense for such a huge object. For diffuse/O-N, it’s not looking great at anytime.
Using the glossy (setting it to gray and roughness to 1 to compare it better to diffuse shader), bump strength 1 with reduced distance produce same normal modifications as microdisplacement. Swapping it back to how the blend was setup (the wrong way), normal modifications are no longer as strong.
But true, glossy doesn’t seem to wash out the normals as much as diffuse. Increasing the shading offset (I tried 0.15) somewhat fixes the problem at the expense of shifting the terminator closer when using diffuse (again using roughness 0.6).
In this case I’m going to put the blame on diffuse shading and how the fix for inverted normals affects it rather than the bump itself.
For the other one, using normals to drive texturing, it definitely don’t work and maybe bump node could be fixed? I have a suspicion it’s down to when in the rendering pipeline normals are computed.
Nobody wants to “dial in” the bump distance and prefer strength slider due to its accuracy. It’s a convenience thing that makes everyone use the bump node wrong… One could argue that strength should modulate the same way as distance does, I have no idea what strength is supposed to do; matching it up with microdisplacement it makes zero sense to me.