HD Morph vs Displacement Map? - technical not ethical

Peter FulfordPeter Fulford Posts: 1,325
edited December 1969 in The Commons

Having been pretty much out of 3D for years, I am curious to learn about "HD Morphs".

The "HD" stuff I've seen in the store looks nice but no better than the best displacement mapped work.

So, what is an HD morph when it is at home? What attribute/s does it have over a displacement map?


Remember, the powers that be don't like us grumbling that they get to make HD morphs and we don't, so please don't divert onto that aspect (at least, not until my question is answered). ;-)

.

Comments

  • larsmidnattlarsmidnatt Posts: 4,511
    edited December 1969

    Well displacement is tricky and works very differently in different rendering solutions. However HD morphs seem to actually modify the geometry consistently so they render the same in different rendering solutions.

  • pearbearpearbear Posts: 227
    edited December 1969

    Having made many displacement maps for my own characters when I want higher resolution, three main advantages of HD morphs come to my mind:

    1- An HD morph can be mixed with other HD morphs via the dials if you desire. Displacement maps can not be easily combined together on one figure.

    2- An HD morph can be applied to any character of its base model's generation. So I can use my G2F Aging or Vascularity HD morphs on any G2F character. Because different characters have non-compatible UV maps, a displacement map that is made for say V6 will not work properly on a character with a different UV map such as Gia6, Olympia6 etc. Each UV map needs its own specially made displacement map.

    3- Most importantly to me: The workflow of baking high resolution geometry from a sculpting program down to displacement maps is technically complicated and finicky. (I'm assuming that exporting HD morphs is easier and more straightforward, though I'm not a PA so I haven't gotten the chance to try.) But the basic gist is that once you've sculpted a high resolution morph in z-brush, you have to bake each UV region into a displacement map and they have to be perfect or else you will get artifacts at the seams. I've done it a lot, and it is a pain. Definitely would prefer to just zap my HD sculpt from Z-Brush to DAZ as an HD morph instead.

  • larsmidnattlarsmidnatt Posts: 4,511
    edited December 1969

    I wasn't' even thinking about 1 and 2, but I definitely leverage those benefits myself. HD Morphs seem to be a logical tie in to the whole Genesis mentality. So I never even thought about those points but took them for granted.

    Regarding point 3, I don't really want to deal with displacement maps for humanoid figures most of the time. While the tools I have support doing just that, its a major pain and I don't find it to be worth my time. (for the record I do not render natively in DS, so I probably have a layer of challenge some users do not. My tools are more picky with displacement than DS may be.)

  • mjc1016mjc1016 Posts: 15,001
    edited December 1969

    Well displacement is tricky and works very differently in different rendering solutions. However HD morphs seem to actually modify the geometry consistently so they render the same in different rendering solutions.

    The 'essence' of an HD morph, as explained ages ago, is that it is a morph for the subdivided mesh. As such, it's dirt easy to make...but the hard part and the part that raises hackles...how Studio handles bringing it back in.

    Pure speculation on my part: I suspect that part is very simple, too...in fact maybe so simple that it was a happy accident. And that is why there's so much resistance to releasing it 'in the wild'. The actual morph files are binary and may be encrypted on top of that...

    But one thing that isn't much discussed when it comes to morphs, with the dsf/duf format, it's very easy to make morphs that are a mixture of new sculpts and 'just settings'. So, it's not hard to sculpt a morph and then set existing dials and make that a single 'controller' dial that will set both the unique changed geometry and the existing HD morphs at one go...

  • larsmidnattlarsmidnatt Posts: 4,511
    edited December 1969

    mjc1016 said:

    Pure speculation on my part: I suspect that part is very simple, too...in fact maybe so simple that it was a happy accident...

    gave me an idea..prolly shall fail miserably. still going to dig.

  • LimbaLimba Posts: 53
    edited December 1969

    Usually displacement map is used in DX11 Tessellation shaders for better quality with less CPU/GPU consumption than using low quality models with HD morphs.
    Morphs are effecting mesh and usually calculated by CPU.

    Negative point is that displacement map have to use same UV as normal textures. With custom shader you can use different UV map for mesh.

    So in normal still picture rendering uses lots of morphs that is combined. Like rotation fixes these are better to do hipoly models.

  • DAZ_cjonesDAZ_cjones Posts: 637
    edited December 1969

    pearbear said:
    Having made many displacement maps for my own characters when I want higher resolution, three main advantages of HD morphs come to my mind:

    1- An HD morph can be mixed with other HD morphs via the dials if you desire. Displacement maps can not be easily combined together on one figure.

    2- An HD morph can be applied to any character of its base model's generation. So I can use my G2F Aging or Vascularity HD morphs on any G2F character. Because different characters have non-compatible UV maps, a displacement map that is made for say V6 will not work properly on a character with a different UV map such as Gia6, Olympia6 etc. Each UV map needs its own specially made displacement map.

    3- Most importantly to me: The workflow of baking high resolution geometry from a sculpting program down to displacement maps is technically complicated and finicky. (I'm assuming that exporting HD morphs is easier and more straightforward, though I'm not a PA so I haven't gotten the chance to try.) But the basic gist is that once you've sculpted a high resolution morph in z-brush, you have to bake each UV region into a displacement map and they have to be perfect or else you will get artifacts at the seams. I've done it a lot, and it is a pain. Definitely would prefer to just zap my HD sculpt from Z-Brush to DAZ as an HD morph instead.

    4- HD morphs are more like vector displacement than traditional displacement. Traditional displacement can only move the mesh along the normal. An HD morph can move the vertex in any direction. Furthermore there is usually more fidelity in an HD morph. HD morphs have 32 bit float resolution per axis. Most displacement maps are 8-bit height fields.

    The first 3 are the bigger reasons, but thought I'd add.

  • larsmidnattlarsmidnatt Posts: 4,511
    edited December 1969


    4- HD morphs are more like vector displacement than traditional displacement. Traditional displacement can only move the mesh along the normal. An HD morph can move the vertex in any direction. Furthermore there is usually more fidelity in an HD morph. HD morphs have 32 bit float resolution per axis. Most displacement maps are 8-bit height fields.

    The first 3 are the bigger reasons, but thought I'd add.

    that's all great input, thanks.

  • DAZ_cjonesDAZ_cjones Posts: 637
    edited December 1969

    mjc1016 said:

    Pure speculation on my part: I suspect that part is very simple, too...in fact maybe so simple that it was a happy accident. The actual morph files are binary and may be encrypted on top of that....

    I can't get into details of this, but it was not a "happy accident" and it is not "very simple". DAZ spent significant time, money, and resources to figure this out and get it to work with its figures.

  • millighostmillighost Posts: 261
    edited December 1969

    Having been pretty much out of 3D for years, I am curious to learn about "HD Morphs".

    The "HD" stuff I've seen in the store looks nice but no better than the best displacement mapped work.

    So, what is an HD morph when it is at home? What attribute/s does it have over a displacement map?


    Remember, the powers that be don't like us grumbling that they get to make HD morphs and we don't, so please don't divert onto that aspect (at least, not until my question is answered). ;-)

    .


    In the Non-DAZ world they are known as "hierarchical subdivision meshes" (google that). Basically they allow to modify a subdivision surface at specific points. That makes them very efficient if there are not many points to modify, like e.g. a scar on the character. But each point they affect gets is very expensive (for the work that the renderer has to do, that is), so they are usually not used for e.g. covering a character in scales. This is the exact opposite of displacement maps: with displacement maps you always have to make a map for the whole surface, even if you only want to change a small part of it. All of this requires of course a renderer that supports subdivision surfaces (and the hierarchical variant), and not many do. I guess iray does not, so the workaround is to subdivide the whole mesh by some amount and apply the hd-morph before sending the data to the renderer, which kind of defeats the purpose of it; it still saves some disk-space though.
  • larsmidnattlarsmidnatt Posts: 4,511
    edited December 1969


    In the Non-DAZ world they are known as "hierarchical subdivision meshes" (google that). Basically they allow to modify a subdivision surface at specific points. That makes them very efficient if there are not many points to modify, like e.g. a scar on the character. But each point they affect gets is very expensive (for the work that the renderer has to do, that is), so they are usually not used for e.g. covering a character in scales. This is the exact opposite of displacement maps: with displacement maps you always have to make a map for the whole surface, even if you only want to change a small part of it. All of this requires of course a renderer that supports subdivision surfaces (and the hierarchical variant), and not many do. I guess iray does not, so the workaround is to subdivide the whole mesh by some amount and apply the hd-morph before sending the data to the renderer, which kind of defeats the purpose of it; it still saves some disk-space though.

    Mind blown! Thanks for sharing.

  • DAZ_cjonesDAZ_cjones Posts: 637
    edited December 1969

    Having been pretty much out of 3D for years, I am curious to learn about "HD Morphs".

    The "HD" stuff I've seen in the store looks nice but no better than the best displacement mapped work.

    So, what is an HD morph when it is at home? What attribute/s does it have over a displacement map?


    Remember, the powers that be don't like us grumbling that they get to make HD morphs and we don't, so please don't divert onto that aspect (at least, not until my question is answered). ;-)

    .


    In the Non-DAZ world they are known as "hierarchical subdivision meshes" (google that). Basically they allow to modify a subdivision surface at specific points. That makes them very efficient if there are not many points to modify, like e.g. a scar on the character. But each point they affect gets is very expensive (for the work that the renderer has to do, that is), so they are usually not used for e.g. covering a character in scales. This is the exact opposite of displacement maps: with displacement maps you always have to make a map for the whole surface, even if you only want to change a small part of it. All of this requires of course a renderer that supports subdivision surfaces (and the hierarchical variant), and not many do. I guess iray does not, so the workaround is to subdivide the whole mesh by some amount and apply the hd-morph before sending the data to the renderer, which kind of defeats the purpose of it; it still saves some disk-space though.

    The ability to specify "Hierarchical Edits" has been a feature in Renderman compliant renders for many years. They are a way to specify to the render how to change the subdivision surface at different levels. Anyone who looks at a "*.rib" generated by 3Delight in Studio will see them if there is a Subdivision object in the scene. The DAZ's HD Morph tech is not in "Hierarchical Edits" -- that tech was developed by others. HD Morph tech is about how to generated "Hierarchical Edits" correctly and efficiently.

  • Peter FulfordPeter Fulford Posts: 1,325
    edited December 1969

    Thanks for all the responses.

    Plenty to read about and plenty to think about.

    .

  • ben98120000ben98120000 Posts: 469
    edited December 1969

    Smoothing modifier does not interact with displacement but it interacts with morphs.. So, for example, you can make displacement map that turns your figure into a bodybuilder at render but those muscles will go through clothing with smoothing modifier applied like nothing at all is happening to the figure.

  • larsmidnattlarsmidnatt Posts: 4,511
    edited December 1969

    Smoothing modifier does not interact with displacement but it interacts with morphs.. So, for example, you can make displacement map that turns your figure into a bodybuilder at render but those muscles will go through clothing with smoothing modifier applied like nothing at all is happening to the figure.

    That is also a good point. You can't see displacement in the viewport either, while you can see the HD morphs assuming you have the figure set to sub-d of 3 (which I do after posing is done).

    Also for my preferred rendering solution, Displacement slows rendering down significantly, where sub-d of 3 + hd morphs have a nominal, nearly immeasurable impact.

  • wizwiz Posts: 1,100
    edited December 1969

    Well, I'm not sure where this fits on the "technical, not ethical" spectrum, but displacement maps are wonderful for animation.

    The body is full of things that don't just "bulge" and "unbulge" from the skin, they slide around under the skin. Watch tendons slide when you move a hand or an arm. Look at how facial muscles behave. Veins don't just bulge out, they slide from side to side when muscles move.

    When you get to sci-fi or horror, there's even more places where you want to move things under the skin: robot probes wriggling, insects crawling... worms. Who doesn't like a good old subcutaneous worm or larva? But I digress...

    I animated screaming faces using a zdepth shader to make a depth map that was easily applied to an animated displacement. (If you saw that commercial, yes, it's mine. Took 3 layers of animated displacements).

  • wizwiz Posts: 1,100
    edited December 1969

    4- HD morphs are more like vector displacement than traditional displacement. Traditional displacement can only move the mesh along the normal. An HD morph can move the vertex in any direction. Furthermore there is usually more fidelity in an HD morph. HD morphs have 32 bit float resolution per axis. Most displacement maps are 8-bit height fields.


    Thank you for bringing that up.

    I don't think anything in the DazSphere has vector displacement, but it is pretty common in the real world: zbrush, cinema4d, max, maya, even blender...

  • dragorthdragorth Posts: 10
    edited December 1969

    Just a thought, but using Ptex, which forgoes the UV requirements, you should be able to achieve the exact same properties. Ptex is variable resolution per face, so you just add resolution the parts you want to make HD, and can handle 32 bit Vector maps.

Sign In or Register to comment.