Why do almost no vendors provide normal maps instead of bump maps?

cwichuracwichura Posts: 1,042
edited December 1969 in The Commons

Normal maps look and work so much better than bump maps. They can convey more detail, and you don't have to worry about how strength/min/max is represented in different rendering engines. I've taken to converting all bump maps to normal maps (even for character skins), as otherwise the effect pretty much doesn't show at all in LuxRender unless I massively inflate the strength/min/max parameters used for the bump maps in Studio.

Both Poser and Studio support normal maps. I remember reading something about Studio having a bug with tiled normal maps, but that applies to so few products (mostly just the shader set vendors) that it shouldn't prevent folks from using them. What am I missing here for why vendors haven't switched to normal maps?

«1

Comments

  • GhostofMacbethGhostofMacbeth Posts: 1,668
    edited December 1969

    Not all versions support normal maps and they are bigger in file size from what I can see. Plus, you can't really control them. Normal maps are also worse than displacement so a lot of people go that route.

  • Herald of FireHerald of Fire Posts: 3,504
    edited March 2013

    Normal maps are also worse than displacement so a lot of people go that route.

    Not entirely true. Normal maps can add as much detail as a displacement map as long as the surface isn't viewed at extreme angles, but without the extra geometry. Conversely, using displacement actually adds more polygons to the mesh, which can greatly increase render times, depending on the scene complexity.

    When working in 3D space, it's always faster to use an existing vector than to calculate a new one.

    Post edited by Herald of Fire on
  • GhostofMacbethGhostofMacbeth Posts: 1,668
    edited December 1969

    Here is a good discussion about it from Renderosity

  • BejaymacBejaymac Posts: 1,897
    edited December 1969

    TBH they would have to learn how to make bump maps first before they try Normal maps, gray-scaling, de-saturating or inverting the diffuse texture doesn't make it a bump map.

  • cipher_Xcipher_X Posts: 124
    edited December 1969

    Bejaymac said:
    gray-scaling, de-saturating or inverting the diffuse texture doesn't make it a bump map.

    Exactly, it is a bit of all three put together and really needs enough attention paid to making it as the diffuse texture has.

    I haven't had a lot of luck with normal maps is Daz Studio. I see very noticeable seams [sometimes bulging] in objects that are curved and have to have textures that meet from both sides. Flat objects seem to handle it much better.

    I see no noticeable render time reductions between Normal vs Bump in DS3 or DS4.5.

    From what I understand DS turns off the bump channel when using normal maps, is that correct? I would see that as a sort of step back because a normal map in conjunction with bump [or even displacement] could be very useful on certain things.

  • SzarkSzark Posts: 10,634
    edited December 1969

    Yeah I agree with the last 3 posters...I like displacement maps so much more. I want to see the displacement not have smooth edges on the outline of things that should look rough or displaced in some way. But again I want proper made bump and displacement maps. When taking about human figures, Zev0's products are great because the displacement maps are made in Zbrush by modeling the displacement first and using the tools in Zbrush to turn that displacement modeling in to displacement maps. No idea how to do it but I believe that is the idea. :)

    IMHO Normal maps are good for games and for something in a background when using DOF as I have done in the past with a drystone wall texture and normal map in Vue. They do have there place granted but when it comes to detail I do like the proper thing.

  • cwichuracwichura Posts: 1,042
    edited December 1969

    Displacement maps are fine, but they require considerably more memory to render (or considerably more time if you use microfacet displacement where the displacement is calculated at intersection time rather than pre-computing the change to the mesh). And bump maps can always be loaded in the displacement channel if you prefer. But if bump is being used as bump, a normal will always give better results in my experience.

  • SickleYieldSickleYield Posts: 7,644
    edited March 2013

    Are normal and bump mutually exclusive?


    Normally I prefer to use bump plus displacement in situations where a normal map might be used, because if I'm going to have to do the full 3d sculpt in Blender and then deal with seam and edge issues I might as well get the most realistic look possible (by having geometry added).


    Frankly if your system can't handle the geometry addition of displacement, you probably should be using a medium other than Poser and DAZ Studio because you're not going to get the most out of them. This is not a game engine.

    Post edited by SickleYield on
  • cwichuracwichura Posts: 1,042
    edited March 2013

    Most renderers seem to let you do bump or normal but not both at the same time. Displacement is separate, and can be mixed with the bump/normal map. Displacement+Normal will still be better than Displacement+Bump.

    My main system has 24GB of RAM. When using a lot of displacement and applying suitable levels of subdivision to ensure there is enough geometry for the displacement to push around, I end up with a render process that is consuming 10-12GB or more of RAM on its own. I'm not doing this on some ancient toy system... When not using displacement, and just using normal maps, the memory consumption is usually 1/4th that, which more easily fits in the memory of my render slave machines (which have either 8 or 12GB of RAM).

    Post edited by cwichura on
  • BejaymacBejaymac Posts: 1,897
    edited December 1969

    cipher_X said:
    Exactly, it is a bit of all three put together and really needs enough attention paid to making it as the diffuse texture has.

    Hell no, that's worse than using just one.

    In DS a Bump & Displacement map should look pretty similar, a medium gray texture (RGB 128), with just the areas you want to "move" painted on it, in the case of skin that means pores, scars, spots, moles, warts & hair, with the odd wrinkle being the only other item. You should NEVER find genitals, a navel, specular shine or any of the rest of the garbage you find in a diffuse map in the Bump.

    Painting all of those pores is a nightmare, which is why I don't, instead I make a Displacement for the hair/spots etc and use the ShaderMixer to make a procedural shader for the Bump.

  • mjc1016mjc1016 Posts: 15,001
    edited March 2013

    As Bejay said, making good bump and displacement maps is essential before moving on to normal maps. Running a bad bump map through a converter plugin makes a horrible normal map. The best normal maps (and displacement maps) are 'baked' from a very high poly/high detail original mesh. The few times I've made normal maps I've gone through the modeling process and got to my final mesh. Then gone in, with a copy of that mesh, and subdivided the hell out of it...then went back and added the desired details. Then baked it out. The latest version of Blender just made that process easier, but adding several sculpting features that will subdivide the area you are sculpting as you are sculpting (dynamic sculpting topology--like Sculptris and I assume Zbrush do). The next best displacement maps are made from hand painting/layers just like the diffuse map. For normal maps, there isn't really any other way (baking from high detail/poly), than using actual physical objects lit and photographed/scanned under differing lighting conditions.

    Personally, I use all three...I prefer normal maps for background/architectural pieces and displacement/bump/both for foreground/character pieces. Neither normal or bump maps cast shadows...displacement maps do.

    The tiling problem with normal maps should have been fixed in 4.5.1.56.

    Also, look at the Luxrender scale for bump/displacement. I believe it is the meter with the default being 1/10 of 1 mm, while Studio is centimeters with a default of 1 mm (0.1).

    Both Lux and 3Delight use mid-grey as the 'zero point' with values below 128 128 128 (darker) going 'in' and values above going out (lighter). For 3Delight, there isn't that much impact on render time, with displacement maps. Displacement maps do not necessarily 'add geometry'...they move it. The mesh is being subdivided/microfaceted anyway, so it is a trivial matter to displace those points. The extra time comes from calculating the additional (read more realistic) shadows/occlusion.

    Post edited by mjc1016 on
  • Herald of FireHerald of Fire Posts: 3,504
    edited March 2013

    Are normal and bump mutually exclusive?


    Normally I prefer to use bump plus displacement in situations where a normal map might be used, because if I'm going to have to do the full 3d sculpt in Blender and then deal with seam and edge issues I might as well get the most realistic look possible (by having geometry added).


    Frankly if your system can't handle the geometry addition of displacement, you probably should be using a medium other than Poser and DAZ Studio because you're not going to get the most out of them. This is not a game engine.


    The only thing to note about bump and displacement maps is that they only work on one dimension. Normal maps don't have this restriction, since each point on the image represents a vector. In basic terms, this means that you can get effects with normals that would otherwise be impossible with a standard displacement or bump map, even combined.

    Of course, the real problem with creating normal maps is that to make genuinely good ones, you need to build it off a figure which already had that detail modeled into it. This means that doing it for things like skin textures aren't particularly easy or viable. There are plugins for programs like Photoshop which allow you to create normal maps from diffuse and bump textures, but the results aren't much different to using a bump map anyway.

    Having created a few of my own normal maps, I can tell you there's a lot of extra work involved to get them looking right. When they do though, the results are superior to anything a bump map could attempt.

    Post edited by Herald of Fire on
  • mjc1016mjc1016 Posts: 15,001
    edited December 1969


    Of course, the real problem with creating normal maps is that to make genuinely good ones, you need to build it off a figure which already had that detail modeled into it. This means that doing it for things like skin textures aren't particularly easy or viable. There are plugins for programs like Photoshop which allow you to create normal maps from diffuse and bump textures, but the results aren't much different to using a bump map anyway.

    Having created a few of my own normal maps, I can tell you there's a lot of extra work involved to get them looking right. When they do though, the results are superior to anything a bump map could attempt.

    With Zbrush or Blender, you can do the details for the skin...but you'd best have lots of RAM before you do the baking.

  • RoguePilotRoguePilot Posts: 239
    edited December 1969

    Just a quick point, the renderer has to do extra calculation on a bump map to derive the vector information that is already contained in a normal map. That derived vector information will still contain the 'lumpiness' of the original bump but may not be noticable, depending on the strength and contrast between pixels.
    The normal map has all the information that the renderer needs, effectively precalculated. That's why it's faster at the cost of file size. This was originally developed for game engines where render time is everything.
    So from a pure render speed view point, use normal maps.

  • SotoSoto Posts: 1,440
    edited December 1969

    I don't like normal maps.
    Sometimes normals look weird or in the best case, not different. And I like to have control of what I'm doing. I have not noticed a difference in render times and I don't care about render times anyway.

  • Midnight_storiesMidnight_stories Posts: 4,112
    edited March 2013

    Hellboy hit the nail on the head there are a few weird bugs in DS with normal mapping while I have reported them and they have fixed them, some how they keep coming back and they look terrible I won't touch them till I'm fully confident that they are fixed.

    Post edited by Midnight_stories on
  • mjc1016mjc1016 Posts: 15,001
    edited March 2013

    Here's what I was talking about...

    1. No occlusion, no displacement. 1 min 12 sec
    2. Occlusion, no displacement 1 min 37 sec
    3. No occlusion, displacement 1 min 32 sec
    4. Occlusion, displacement 3 min 13 sec

    There's not much difference with/without displacement...but add occlusion to displacement and you take a big hit. It's a similar response for shadows, especially raytraced shadows.

    And just for 'fun' I ran the same map as a bump map...it took 1 min 43 sec to render.

    Then I turned it into a 'cheap' normal map, it took 1 min 45 sec.

    No, this isn't a very scientific approach, but it does show that the impacts aren't really that different...except when you start adding in shadows/occlusion..

    Sorry...the images are messed up...not sure what it will take to fix..

    Post edited by mjc1016 on
  • ValandarValandar Posts: 1,417
    edited December 1969

    The main reason I don't include Normal maps in my products is that neither DS nor Poser really read them properly. That, and baking Normals is a bit of a pain in the mitka.

  • mjc1016mjc1016 Posts: 15,001
    edited December 1969

    Valandar said:
    That, and baking Normals is a bit of a pain in the mitka.

    And other parts of one's anatomy...

    Now here's a couple of other things...

    From left to right...

    Displacement map, set to 100% -1,1

    (ran displacement map through the normalmap filter in GIMP)
    Normal map, inverted X and Y
    Normal map

    It looks, at least with the GIMP generated ones, in order to be 'right' the X and Y need to be inverted. I don't have any 'baked' ones handy to test, but, if I recall correctly, the Blender baked ones had that same problem...

    normdisp.jpg
    1000 x 800 - 49K
  • DisparateDreamerDisparateDreamer Posts: 2,511
    edited December 1969

    wow Okay I admit i dont understand most of the discussion... but I almos always add the texture to the displacement channel, I like the result better than with a bump map.... I did not realize that slows the render down, but i like it. what is a normal map?

  • Midnight_storiesMidnight_stories Posts: 4,112
    edited December 1969

    I will admit in some cases it is better the first one is with out normals and 2n one is with normals baked in Zbrush

    Normals-On.jpg
    859 x 918 - 258K
    Normals-Off.jpg
    859 x 918 - 228K
  • SickleYieldSickleYield Posts: 7,644
    edited December 1969

    Wow. That is a heckuva sculpt job.

  • kyoto kidkyoto kid Posts: 41,202
    edited December 1969

    cipher_X said:
    Bejaymac said:
    gray-scaling, de-saturating or inverting the diffuse texture doesn't make it a bump map.

    Exactly, it is a bit of all three put together and really needs enough attention paid to making it as the diffuse texture has.

    I haven't had a lot of luck with normal maps is Daz Studio. I see very noticeable seams [sometimes bulging] in objects that are curved and have to have textures that meet from both sides. Flat objects seem to handle it much better.

    I see no noticeable render time reductions between Normal vs Bump in DS3 or DS4.5.

    From what I understand DS turns off the bump channel when using normal maps, is that correct? I would see that as a sort of step back because a normal map in conjunction with bump [or even displacement] could be very useful on certain things.
    ...a good example is one of the trees from the Le Village set. I actually had to adjust the bump settings as "out of the box" the bark on the trunk looked more like camo paint.

  • BejaymacBejaymac Posts: 1,897
    edited December 1969

    You do need to be carefull with Normal maps in DS, a low res Normal map on a big surface tends to pixelate the surface, while a displacement map of the same resolution still gives for a clean image.
    Why is this an issue, because what you see in the viewport is your JPG/PNG etc, but what you see in the render is your texture after it's been converted to the TDL format, which is a mip-mapped TIF format, and at set distances from the camera 3Delight swaps out the full res image for the first of the lower res mips, and the further from the camera you get the further down the mip level you go and the lower the res gets, it's why background textures can look clean and sharp in the viewport, and look like crap in the render.

  • LuthbelLuthbel Posts: 111
    edited December 1969

    Hello!

    I´ve been supplying normal maps for some time now. Some of my M4 sets include them, and also all my stuff for Genesis

    Cheers!
    Dan

  • LuthbelLuthbel Posts: 111
    edited December 1969

    I will admit in some cases it is better the first one is with out normals and 2n one is with normals baked in Zbrush

    Impressive!

  • MistaraMistara Posts: 38,675
    edited December 1969

    Luthbel said:
    Hello!

    I´ve been supplying normal maps for some time now. Some of my M4 sets include them, and also all my stuff for Genesis

    Cheers!
    Dan


    i don't see any M4 characters in your Daz store?

    Does the Night World Fallen critter have normal maps?

    Thanks.

  • Tyger PurrTyger Purr Posts: 0
    edited December 1969

    I have considered experimenting with normal maps over the years but never found a way to make them.

  • RiffulRifful Posts: 0
    edited December 1969

    I have considered experimenting with normal maps over the years but never found a way to make them.

    http://www.daz3d.com/forums/discussion/25486/

    This thread discusses some ways to make normal maps

  • Kevin SandersonKevin Sanderson Posts: 1,643
    edited December 1969

    Bejaymac said:
    but what you see in the render is your texture after it's been converted to the TDL format, which is a mip-mapped TIF format, and at set distances from the camera 3Delight swaps out the full res image for the first of the lower res mips, and the further from the camera you get the further down the mip level you go and the lower the res gets, it's why background textures can look clean and sharp in the viewport, and look like crap in the render.

    Hi Bejaymac, have you tried the Catmull-Rom Pixel Filter setting with Pixel Filter Width X & Y both set to 4.00? That's supposed to sharpen tdl textures according to the 3Delight website. Sinc is the default but if a setting is wrong, I've seen 3Delight issue an error code and switch to Box filter which blurs textures. Perhaps that's what has happened to you.

    From the 3Delight website manual:

    filter filterwidth window Comment
    box 1.0 - This filter tends to blur textures. Use only if texture generation speed is an issue.
    triangle 2.0 - `filterwidth' larger than 2.0 is unnecessary.
    gaussian 2.50 - A good filter that might produce slightly blurry results, not as much as the box filter though.
    catmull-rom 4.0 - A better filter (producing sharper textures).
    bessel 6.47660 `lanczos' Filter width chosen in order to include 2 roots.
    sinc 8.0 `lanczos' We recommend this high quality filter as the best choice. Although it can produce some ringing artifacts on some textures. Using a `filterwidth' smaller than 4 is not recommended.
    Table 3.1: tdlmake filters.

Sign In or Register to comment.