Displacement in the shader mixer issues

I'm attempting to do procedural displacement, and running into a complex bit.

So the noise brick outputs a color map. If that gets piped into displacement, I get displacement, but of limited height. Setting maximum displacement height seems to help, but only to some maximum value (which isn't very high).

I'm wondering if I need to either add/multiply the float part of the displacement input (which is color,float) (and I have no idea how to only multiply that second component),

or if I need to do something weird with the other displacement elements (displacement max?)

 

Anyone have ideas?

What I have now is... tolerable at making bumpiness, but I'd like to do more.

 

Comments

  • barbultbarbult Posts: 24,863
    edited May 2016

    Remember that Iray displacement needs dense mesh or high subD to show up as more than vague lumpiness.

    Edit: I'm talking about when you test your shader. If it is on a low poly sphere or something, you might not see much.

    Post edited by barbult on
  • Richard HaseltineRichard Haseltine Posts: 102,789
    edited May 2016

    Displacement takes a 0 to 1 value from the map, the strength and min/max limits determine what that translates to. If you are using colour noise it is probably averaging the red, green and blue values to get the final value which will tend to clump around .5 with few extreme values, so you rarely see the full range used.

    Post edited by Richard Haseltine on
  • mjc1016mjc1016 Posts: 15,001

    Displacement takes a 0 to 1 value from the map, the strength and min/max limits determine what that translates to. If you are using colour noise it is probably averaging the red, green and blue values to get the final value which will tend to clump around .5 with few extreme values, so you rarely see the full range used.

    Do you remember how to transform the color noise to greyscale?  It's ben too long since I did much in ShaderMixer, I can't remember...

    I'm thinking Will would prefer that for the displacement, but for other parts of his network, wants/needs the color noise for other things.

  • Richard HaseltineRichard Haseltine Posts: 102,789

    In 3delight you could split the colour into its channels and just use one of them, but I don't think Iray supports that (I have had only the briefest of looks at Iray in Shader Mixer).

  • mjc1016mjc1016 Posts: 15,001

    Neither have I...but I think the math/operation bricks are common for both...

    Will, one thing that might want to try...inserting a 'scale' factor...a simple multiply with an integer value.  The scale would be user setable...

  • Oso3DOso3D Posts: 15,045

    I'm not sure how to multiply just one part of, say, color/float

     

  • mjc1016mjc1016 Posts: 15,001

    You insert the multiply brick right before the displacement input...and feed whatever you would be feeding the displacement to the multiply brick then the output of the multiply to displacement.

  • Oso3DOso3D Posts: 15,045

    The Displacement brick has inputs:

    Strength (Displacement map + Map weight)

    Min, Max

    (standard texture/tiling stuff)

    It then outputs Displacement (which is basically a grayscale map, near as I can figure) and Displacement Max.

     

    That Displacement max... is pure sorcery. It doesn't want to connect to anything. I can, apparently, connect stuff into the Displacement Max input in the MDL Surface, which is great... but I need to be able to take the regular displacement max so I can pass it through as one option of several.

     

  • Oso3DOso3D Posts: 15,045

    Ok, I'm dumb. Just multiplying and ignoring max mostly works.

    (If you set displacement to some dummy image and give it a max over 20, it seems to turn everything 'on' and then it can be driven from the map)

     

  • mjc1016mjc1016 Posts: 15,001

    I see...

    It's 'compressing' it too much.  You need a wider 'spread'...either the map or the Disp Max to have a 'range'...and there is no place to drop in a multiply. 

    Well...

  • Oso3DOso3D Posts: 15,045

    Here's an early test.

    There's an oddity in that the displacement seems to have a direction rather than radiating out equally. Which is good and bad, I suppose...

     

    Displacetest.png
    1080 x 1080 - 2M
    Displacetest2.png
    1080 x 1080 - 2M
Sign In or Register to comment.