[BAKE] normal-texture:RGB versus height-texture:grayscale

Question Materials and Textures

I have a suspicion, but would like to confirm it. Both

normal-texture:RGB -> Normal Map -> shader-Normal

and

height-texture:grayscale -> Bump Map -> shader-Normal

seem to be able to produce a similar rendered appearance. I assume that similar calculations happen in both cases? I further assume that normal-texture:RGB produces better quality, because more bits of information per pixel?

I am asking because it's more practical in a few cases (i.e. text) to create a height-texture with any image editor, rather than hi-poly modeling and baking normals.

(Interestingly, after applying a bump map, the result can be baked to get a normal texture.)

1 love
Reply
  • Dwayne Savage(dillenbata3) replied

    Bump maps give elevation information based on mid-level. Mid-level is by default 50% grey. Height mapping uses a bump map but adds a smoothing transition in it calculations. 

    Normal maps give vectored information or angles and height. Thus the color of the axis in blender relate to the color of the texture. Thus R=X, G=Y, and B=Z. Blender uses the openGL normal map. Some normal maps you get use the direct X normal map. Direct X's Y(aka green channel) is inverted. 

    • 👍
    1 love
  • Martin Bergwerf replied

    In an image; let's say we have 4 Pixels:

    Bump.png

    The Height (Bump) and Normal give complementary information.

    It depends on the situation, wheteher you use a Bump Map, Normal Map or both.

    1 love
  • techworker1 replied

    Thanks spikeyxxx . Your image is something like what I was envisioning. If I imagine each pixel as a tiny plane with a height, then the difference between 2 adjacent pixels should indicate (partially) a normal vector. (Blue would be the average height.) So it seems logical that Blender can convert height to normals.

    height-normal-01.jpg

    1 love
  • Dwayne Savage(dillenbata3) replied

    Actually techworker1 the blue in your image is how height mapping is done. The stepped part would be a straight bump mapping. Both use the same grey scale texture. Blender uses height mapping.

  • Dwayne Savage(dillenbata3) replied

    Found it, Here is a video that helps to explain the difference better. https://cgcookie.com/lessons/height-maps-vs-normal-maps

  • Martin Bergwerf replied

    Hi techworker1 ,

    The arrows in your (beatifully made) image, are 'in between' the Pixels and the Normals from the Bump Map would be the average of those arrows on each Pixel (at least that's how I imagine it works). Those would not necessarily be the same as the Normals of the Pixels from a Normal Map (as you can 'see' in my example).

    1 love