What is your base for a bump/displacement map in Cycles ?


When i have to use the displacement node input in Cycles, I feed a BW image in there.
But i never know what the theory is:

Should i have an entirely black image with brighter pixels for bumps ?
Or a white image and darker pixels for neg. bumps ?

So my latest habit is to feed whatever image i have into a colour mix node, with 50% grey as the 1st input.
By varying the amount of mix i want, the output is close to 50% grey or differs from it.
Reference “plane” is 50% grey.

1st question: do you think this is good practice ?

Now, i often have several “layers” of displacement: say, one for “general noise”, one for added scratches, etc…
Combining the 2 when they are based on a grey reference is tricky !
I think the way to do that is to add them (without clamping !) and then substract 0.5 from the result.

2nd question: is that correct ?

I guess the best thing would be to have a “grain merge” blending mode !
That shouldn’t be too difficult to patch !

If that’s not the ‘real’ displacement (available through Experimental cycles feature set and usually ending in crash for me) then i think of available amount of ‘displacement’ (which is normals manipulation for this scenario imo) as black to white being close to 180 deg rotation of some normal. Then 50% gray would be not changed direction. Texture easily could be inverted via invert or sign on math node, giving needed effect.
Combining smaller bumps, some scratches - if you use combining via color ramp, color or math nodes you really can’t go over maximum amounts and even if there is some clamping, that only helps to set amount of ‘scrathes’, or place where they appear while summing with bigger, lower frequency values.

There are some videos of Nicolo Zubbini from Mango team related to this - worth watching imo.

One of the simplest ways to layer bumps would be use to feed the textures into a math node using an add operation (using a math node using multiply or even a color mix node to tweak the values beforehand if necessary).

I’ve used that method and to my knowledge appears to work for me, since it seems the bump effect is more affected by the range between the high and low values more than where they start, I haven’t tested with true displacement though, which in that case you might need to use a subtract operation to restore the values to a usable range.