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.
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.
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?
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.
Replies
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
Mop: Nope, the blue channel is part of the vector as it has to have three dimensions.
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.
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