Home Adobe Substance

Have anyone managed to make a fx-map noise independent of image scale factor?

gnoop
polycounter
Offline / Send Message
gnoop polycounter

I love Filter forge where you can scale or expand anything and evry noise involved stay same .

So 2048x2048 or 256x2048 or 1024x2048 as well as re-scaling details in the end of node flow and everything stay same or related in pixel size . If only it could work on GPU.

Have anyone ever managed to make FX-map that would be totally independent of form factor changings and every detail would stay same in pixels ?

Replies

  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter

    You want an input texture to remain constant size in terms of pixels regardless of the output size of your FX map?


    I don't believe there's a way to know the pixel size of an input but you can specify that as an int2 and simply scale the Input texture appropriately using the pixel size of the fxmap node

    You might be able to make that mostly automatic if you make your fxmap size relative to input and use the log2 size as your base for scaling but I feel like that might be somewhat restrictive

  • gnoop
    Offline / Send Message
    gnoop polycounter

    Thanks poopipe . Hoped someone alredy did something like that before. I am trying to recreate something FIlter forge does where you could set the scale and widthxheight factor in last output node and the whole graph resales all noises involved automatically.

  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter

    the danger is that you cant rely on the user to set the size params in a way you'd like with designer


    thinking about it... could you use a value processor set relative to input to reliably get the $size of your input noise and plug that into your fx-map ?


    might work

  • gnoop
    Offline / Send Message
    gnoop polycounter

    Yeah, It's what I am trying to do actually. Surprised nobody tried to it before . At least I couldn't find.

  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter

    doesn't look like that's possible sadly - value processor size can't be set as relative to input


    I'd suggest just setting the size, it's not too awkward and is at least reliable

  • gnoop
    Offline / Send Message
    gnoop polycounter

    I asked about it on Algorithmic forum around decade ago and one of their employee answered that 'theoretically' it should be possible but I would have to do pretty complex function graph in almost every node. I'v been wasting my Christmas holidays time on that task since 😁

  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter

    You can fix pattern scale in pixels based off the size of your fxmap node simply enough - that might have been what they meant.

    Thats not the same as matching the pixel scale of an input though.

  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter

    just cos i was curious


    that'll fix the pixel size of your pattern to 256x256 regardless of the size of the fx-map node (which is in the node named substance _graph and inherits it's size from parent)

    the float2(8,8) is just the log2 size you want the pattern to be at so 10,10 would give you 1024*1024 etc

    there's no way to get the original input size or the size of any node outside the current one (fx-map in this case) automatically that i can find anywhere so this is as close as we can get i think

  • gnoop
    Offline / Send Message
    gnoop polycounter

    Thank you very much poopipe. it's a simple and elegant solution .

    I used same powr2 before 1/ as multiplying factor for noise iterations and it 's much closer to what Filter forge does now. It's still works not well for something like 32x2048 pixels , a scale factor I do for asphalt painted lines but my guess it's where math precision is not good already probably .

    ps. The thing doesn't work with rotation in fx-map 😒

Sign In or Register to comment.