Iray - Simple comparison bump / normal / displacement

linvanchenelinvanchene Posts: 1,372

If you are interested in accurate light and shadows on all surfaces it is important to use either

- actual high resolution geometry with modeled detail

- high resolution hd morphs with render subdivision levels 3 or 4

- displacement maps

- - -

Bump and normal maps will not cast accurate shadows and destory the illusion if you are aiming for photorealism.

This does not only matter for textures on clothes but especially for indoor environments.

- - -

This comparison focuses only on the differences between normal, bump and displacement maps.

 

Test scene with bump maps:

 

- - -

Test Scene with Normal Maps:

 

- - -

Test Scene with Displacement Maps

-> In this case the bump map was used as displacement map.

Min Displacement was set to 0.

Observable Result:

The normal maps yield the worst possible result with shadows completly ignoring the light source.

The bump maps at least give some kind of illusion that the light source has an effect but light strenght is not accurate.

-> The only physical correct light and shadow simulation is achieved by using displacement maps.

- - -

Test this yourselves with attached scene files and maps:

- The bump and normal maps are attached as well so you can try this out yourselves.

The maps were created with a filter I created from scratch in Filter Forge.

-> I have the right to share the maps.

- The DAZ Studio 4.9 scene file is attached as well. You will need to manually link the maps in the surface settings.

 

 

 

Test Scene - Bump Map v1001.jpg
1920 x 1080 - 317K
Test Scene - Normal Map v1001.jpg
1920 x 1080 - 317K
Test Scene - Displacement Map v1001.jpg
1920 x 1080 - 304K
Circle 4x4 N.png
600 x 600 - 484K
Circle 4x4 B.png
600 x 600 - 357K
duf
duf
cube light emitter displacement.duf
52K
Maps created in Filter Forge.jpg
1920 x 1080 - 362K
Post edited by linvanchene on

Comments

  • Oso3DOso3D Posts: 14,905
    edited May 2017

    I think the problem is that you need to flip the Y on your Normals, actually.

    (I don't know why, there are details about it, but basically Iray handles Normals differently than a number of other programs)

     

    Post edited by Oso3D on
  • kitakoredazkitakoredaz Posts: 3,526
    edited May 2017

    I like those test, but I feel your normal is not adjusted for daz studio cordinate correctly,  is not it? wink  I feel you need to inverse color component.of R,G

    because your normal seems for direct X verison. (then left upper become dark, ) it show reverse  concavity and convexity in daz studio

    Though I know, displacement should work best (but we need many sub-D, and it use memory)

    ==

    test with this if you need (I tweak component R G, in gimp 2.9)

    normal_correct.png
    128 x 128 - 3K
    Post edited by kitakoredaz on
  • linvanchenelinvanchene Posts: 1,372
    edited May 2017

    I think the problem is that you need to flip the Y on your Normals, actually.

    (I don't know why, there are details about it, but basically Iray handles Normals differently than a number of other programs)

     @ timmins.william

    Thank you! I just used the default normal map export settings  in Filter Forge and did not think about that.

    There is even a (very old) discussion about this on filter forge:

    https://www.filterforge.com/forum/read.php?FID=9&TID=1476

    Need to look into that and figure out if there was any development on that front.

    So far I have not found any more advanced normal map settings inside Filter Forge.

    I like those test, but I feel your normal is not adjusted for daz studio cordinate correctly,  is not it? wink  I feel you need to inverse color component.of R,G

    because your normal seems for direct X verison. (then left upper become dark, ) it show reverse  concavity and convexity in daz studio

    Though I know, displacement should work best (but we need many sub-D, and it use memory)

    ==

    test with this if you need (I tweak component R G, in gimp 2.9)

    @ kitakoredaz

    Thank you a lot for providing the updated file!

    Tested again with this:

    Test scene with normal maps flipped (file provided by kitakoredaz)

    - - -

    @ Converting bump maps to normal maps:

    In the past I used the NVIDIA Texture Tools for Adobe Photoshop to create normal maps from bump maps.

    https://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop

    Have not used it for a very long time because I gave up on using normal maps whenever possible.

    Now last time I tried the plugin photoshop just kept crashing.

    Does it still work for anyone with Photoshop 2017?

     

     

     

    Test Scene - Normal Map flipped v1001.jpg
    1920 x 1080 - 312K
    Post edited by linvanchene on
  • kitakoredazkitakoredaz Posts: 3,526
    edited May 2017

    unfortunately I do not have filter forge, but I remember quite a few user recommend it, I think there whould be correct way (option) to generate normal for DAZ iray normal cordinate.

     my assanption,  ds iray normal map is tangent-space normal, then  R = U (x) axis, G =V (y) axis,   (UV world), then B should correspond to The surface normal direciton(z) , and represent ,each pixel normal direction as vector...

    but the difficulity is, the way ,apply RGB value to these 3 demension, is different about each aprication and shader.I memorized before for my usage, , which guide about normal map for game  modder , it was  like that (though the author not confrim if it is right for current version)

    Max(+X,-Y,+Z)   Maya(+X,+Y,+Z)ZBrush(-X,+Y,+Z)Blender 2.4x(-X,-Y,+Z)Blender 2.57 later:(+X,+Y,+Z)
    ・xNormal(+X,+Y,+Z)・CrazyBump(+X,+Y,+Z)

    anfotrunately, I do not know, ds iray how represent RGB,, then I usually first  use Blender or Xnormal cordinate. then if it not work,, invert R,G or both,  when  I need. but hope to know, DS iray cordinate clear. (those things need to be dsicribed as daz official document,,indecision)

    AwsomeBump (unfortunately, it seems stop up-date) , can generate each PBR map from diffuse, and can convert from hegith to normal etc,, (but I can not strongly recommend awsom bump,,because of the UI, though I like this tool)

    https://github.com/kmkolasinski/AwesomeBump/releases

    And jusf for excuse, I know,  when someone introduce these "easy one click convert and generate tool",,there should be strict answer,

     "No,, it can not generate true effective normal map, you need to bake from real deformed poligon then generate normal to low poligon,)etc,,,

    Yes I know such thingssad,  just hope to make normak, from simple diffuse  or height map,,when I get free those,, ,,or I need to model or sculpt everytime just to make ground normal, though I made those with blender, and bake.when I need, like that (someone if need ,use these normal map free as you like, it is simple sculpt and bake normal in blender by my self,  I inverse height map then use as roughness too, for qucik ground. sorry,,but sorry those are 2k map ^^;)

    newnormal_normals.png
    2048 x 2048 - 1M
    newnormal_color2.png
    2048 x 2048 - 3M
    newnormal_heights.png
    2048 x 2048 - 314K
    render.JPG
    470 x 576 - 48K
    Post edited by kitakoredaz on
  • AndySAndyS Posts: 1,434

    Hi Linvanchene,

    Sub Displacement Level = 12 ??
    You're lucky that the render pre-processor didn't decrease the value.

    In my sets I often experienced that displacement-subD was reduced by iRay automatically that way, the structures only displayed very "smoothed".
    --> https://www.daz3d.com/forums/discussion/161031/daz-4-9-3-166-degradation-of-iray/p1

    To show the difference between bump and displacement way better, you should let some other objects intersect with the surface and have a look at how shadows of other objects show up on that test surface (see attachment).

    iray compare displacement vs bump.jpg
    1004 x 1630 - 267K
  • linvanchenelinvanchene Posts: 1,372
    AndyS said:

    Hi Linvanchene,

    Sub Displacement Level = 12 ??
    You're lucky that the render pre-processor didn't decrease the value.

    In my sets I often experienced that displacement-subD was reduced by iRay automatically that way, the structures only displayed very "smoothed".
    --> https://www.daz3d.com/forums/discussion/161031/daz-4-9-3-166-degradation-of-iray/p1

    I read that thread. It was one of the reasons why I deceided to have a closer look at what is going on.

    But I will first test with simply things and then move on to more complex objects and scene setups.

    I will test with the WW2 jeep later.

    AndyS said:

    To show the difference between bump and displacement way better, you should let some other objects intersect with the surface and have a look at how shadows of other objects show up on that test surface (see attachment).

    That is a great example. Thank you for sharing!

  • AndySAndyS Posts: 1,434
    That is a great example. Thank you for sharing!

    You're welcome.

Sign In or Register to comment.