Cycles: Can I Use 2 Displacement Nodes on Same Object?

Hi, Using Cycles.

Q. - Is there a way to use 2 separate displacement nodes on the same plane. (See image below)

For example: I want a displacement node for an image of cubes (image) and a displacement node for round hills (Voroni Node). As you can see in the node example I can’t use a Mixed Material Shader to do this so I was hoping there was another way other than using Displacement Modifiers.

Don’t mix Displacament, mix Textures:

Not in this way. You should combine the input values your displacement nodes with math nodes and feed the result into a single displacement node. What you likely want in to add them (after scaling and shifting them) appropriately. The formula which the displacement node uses on the inputs, to determine the actual displacement simpy is

displacement = (height-midlevel)*scale

So you could build with math nodes for the 2 displacements:

height_total = (height1-midlevel1)*scale1 + (height2-midlevel2)*scale2

Feed height_total into the height input of the single displacment node and set midlevel=0 and scale=1.

Thank you both. I will try that node layout CGslav. omnigold, is the above node diagram the same as you were talking about. I’d like to mix snow and rock so the rock is jutting out of snow. Black rock and white snow.

The displacement node’s output is not a shader, so you can’t use a mix shader. Use other image combining methods or math nodes to control your final image result then plug it into the displacement node.

I would recommend something like cgslav’s method, but instead I would use a math node because the colorramp is going to clip your values unless that is what you want.

I wouldn’t use colorramp with musgrave at all, as musgrave is very subject to not staying within 0-1 range which colorramp expects.

Colorramp is safer for noise, but using linear mode tends to introduce clipping where there is none originally.

I would manipulate them separately, then scale them to their values, finally just add them together, all using math nodes. If you want clipping, I would definitely use a soft clip node group to do it rather than a hard clip.

Not, it is not the same, but the approach if @cgslav also works if you account for the musgrave node producing values outside of 0-1 as @CarlG already pointed out), by scaling and shifting. Not sure this is easier than using math nodes directly, though.

Wow you guys are great. I will give this a try and post my results. So just a methodology question.

Q. For Creating Large Black Rocks on Snow…

A. Would you use a displacement for the large black rocks and then another displacement for the ground texture.
or
B. Would you use displacement for the ground and a particle system for the large rocks.

Depends on your objective? If the goal is simply a render, then either works, though the latter would result in 2 materials as opposed to increased complexity in a single material.

Ultimately, they both can generate similar results, so it basically boils down to workflow preferences, project requirements, and potentially render times, and/or environmental lighting choices. There are some limitations with shadows and HDRi, for example.

The displacement and vector displacement nodes just output vectors in world space. So you can just sum the outputs with the vector math node.

They’re essentially texture converters. The vector displacement node converts space and applies a scale, the displacement node converts a height map to a vector displace along the normal. If you have 2 height maps, you can also combine the textures, but that won’t work if you have one vector and one height map, or 2 vector maps in different spaces.