Announcement

Collapse
No announcement yet.

VrayNormalMap is missing Normal map modes

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • VrayNormalMap is missing Normal map modes

    Hi,

    for past few years, I had this hunch that game engines seem to handle normal maps better than offline renderers. Every time I watched some Unreal Engine tutorial, I have been surprised how can a normal map generated by WorldMachine turn appearance of relatively low poly terrain mesh into something that looks very high poly and detailed. Whenever I applied high res normal map on lower res mesh in 3ds Max with V-Ray, I did get some detail from the normal map, but it looked a bit odd and make entire thing look a bit blobby. It was not nearly as dramatic difference as in Unreal Engine, where applying normal map would magically make low res terrain appear like super high res mesh. As I said, I thought this difference can be attributed to the different architectures of realtime vs offline rendering engines.

    Past few days, I was playing with Blender's Cycles renderer, and I was very surprised to find that Cycles seems to render WorldMachine normal maps with the same impressive detail game engines do. At that moment, I realized I can no longer just rely on a hunch, and I have to do some testing. Sure enough, when I have set up identical scenes in both V-Ray and Cycles, the difference was significant.

    The main difference could be spotted already in the setup process: While Blender offers multiple normal mapping models, such as object, world, tangent and so on, VrayNormalMap has no modes at all. In cases of Cycles, it was world space normal mode which makes the WorldMachine generated normal maps look the way they are supposed to.

    So after a bit more digging, I have found out what the exact difference is. WorldMachine outputs normal maps as absolute normals that are supposed to be used in WorldSpace, to completely override Mesh normals, while VrayNormalMap takes mesh normals and multiplies them with normal map data, resulting in a wrong look: Click image for larger version  Name:	VrayNormalHandling.jpg Views:	3 Size:	3.15 MB ID:	993768

    What you can see on the picture above is following:
    Top left image is Cycles without any normal map and top center image is V-Ray without any normal map. This is to show that I used nearly identical baseline.

    On the bottom left, you can see Cycles render using world space normal map. If you compare it with top left image, you can see it just adds small detail to the mesh, making it look higher res, without actually modifying its shading.

    On the bottom center, you can see V-Ray render using VrayNormalMap. You can see that instead of just adding detail to the mesh making it look higher res, it heavily modifies shading, making the whole terrain look odd and blobby.

    Now, there is still good old 3ds Max Normal Bump map, which unlike VrayNormalMap actually offers normal mapping enough. And sure enough, when I used it instead of VrayNormalMap, when set to world mode, I am getting a correct output, identical to Cycles render. Unfortunately, as long as I use Normal Bump, I am getting warning message every time I launch a render: Click image for larger version  Name:	Warning.PNG Views:	1 Size:	4.3 KB ID:	993769

    ...which is (like most V-Ray's warning messages) pretty irritating.

    So conclusion is that VrayNormalMap needs to have normal mapping modes so that V-Ray can correctly utilize all the different kinds of normal maps. The basic modes should at least be world space, object space and tangent space. Or if it's too much to ask, then at the very least the warning about Max's native Normal Bump should be removed.

    Thank you.

  • #2
    Thanks for the pointer; we do have those modes internally, they are just not exposed in 3ds Max. Will make a note about it.

    Best regards,
    Vlado
    I only act like I know everything, Rogers.

    Comment


    • #3
      Great, hope to see it in Vray Next

      Comment

      Working...
      X