Home Technical Talk

What's the Difference Between Normal & Bump Mapp'n

NoSeRider
polycounter lvl 18
Offline / Send Message
NoSeRider polycounter lvl 18
Well, it seems to me Normal and Bump mapping are both based on the same principle...to add perceived geometric structure that really isn't there.

Why use one over the other?

Replies

  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    Yes, they're both "types" of bump mapping (adding detail through texture/light interaction rather than geometry/light) but normal mapping is more accurate than bump mapping.

    I'm sure this question has been asked before.

    Bump mapping (greyscale) only provides the "height" of a surface relative to the geometry.
    Normal mapping provides the height (in the Blue channel of a tangent-space bitmap) but also the vector of the "percieved geometry" using the Red and Green channels (Red for X, Green for Y, I think).
    So you also get the angle of the surface in 3d space, not just the height. Therefore you can get a more accurate representation of the 3d surface using a normal map.
    Or something.

    MoP
  • KDR_11k
    Options
    Offline / Send Message
    KDR_11k polycounter lvl 18
    Actually they're called emboss bump mapping (height) and dot3 bump mapping (normals) so there's your "difference".

    Mop: Nope, the blue channel is part of the vector as it has to have three dimensions.
  • Wrath
    Options
    Offline / Send Message
    Wrath polycounter lvl 18
    First off, there are two types of normal maps. Tangeant space normal maps (which are the bluish hued most of us are familiar with) basically represent an X,Y offset from the face normal on the pixel level in the red and green channel. The blue channel is, for the most part, ignored. Then there are world space normal maps, which represent an absolute X,Y,Z tangeant angle in world space cooridnates. World space normal maps can be rendered a bit faster, but they require the object to be in a set position to look right, so they're not used much in games and more often in CG rendering.

    The big difference between a normal map and a bump map is a normal map is used primarily for lighing the surface of a model on the pixel level (ie per-pixel lighting). This yields a much more detailed appearing, smoother looking model than vertex, face, or fragement lighting of a traditional real time engine. The traditional method relys on shading a triangle or vertex based on it's angle of incedence of it's normal between the lights and camera (your viewpoint) and smoothing between the results of it's neighbor across edges. With per-pixel lighting, the low poly geometry will be lit and rendered pretty much the same way as highly tesselated geometry.

    A bump map, on the other hand, just adds some faked modulated detail (highlights and shadows). It won't make the model light any smoother, but it will add some textural detail so that it doesn't appear like a completely flat surface. A lot of engines actually convert a greyscale bump map into a Dot3 bump at runtime and treat it like a normal map for rendering purposes.
  • KDR_11k
    Options
    Offline / Send Message
    KDR_11k polycounter lvl 18
    Wrath: You forgot object space which allows objects to have any orientation but no deformation.
  • Downsizer
    Options
    Offline / Send Message
    Downsizer polycounter lvl 18
    Just curious,as I'm working with normal maps right now. For static map objects, would one use the object or world space, as opposed to the tangent space and get a slight frame or quality increase?
  • Eric Chadwick
    Options
    Offline / Send Message
    If the mesh never rotates, then World is the fastest. If the mesh rotates but doesn't deform in any way, then Object can be used... not as fast as World though. If the mesh deforms, then Tangent must be used, and it is slightly slower to process than the others.

    However, some game engines will auto-process Tangent maps into World or Object maps for you. So we only create Tangent art, and let the engine handle it.

    Some images here if it helps.
    http://www.cgtalk.com/showpost.php?p=1276815&postcount=7
  • adam
    Options
    Offline / Send Message
    adam polycounter lvl 19
    Wow, this thread has now made me totally clear on this subject. Glad someone asked... hehe. gj!
Sign In or Register to comment.