creating normal maps


sorry if this might be slightliy OT, but I would really appreciate any hints:

How are normal maps created? When having a nice color texture and wanting to have a suitable normal map for that, how can this be achieved? I guess it’s turning the color map into greyscale and using the brightness as height values!? But for sure this would not work if the brighter parts are lower than the darker ones (for example having dark tiles with white seems, like it could be on a bathroom floor or something)? Are there standard tools for this? I know how to create a normal map once a height map is present, but how to obtain such a height map?

Ideal would be a program that reads an image and outputs a normal map, does this exist? Are there gimp plugins/functions that can do this (I am using linux, so no photoshop )?


There is a plugin for the gimp available:

You can create your height map drawing on a greyscale texture, imaging what parts are high and what parts are low and drawing them white and black (for example).
Also, you can create the normalmap from a high detail model using one of the tools that you can find:

Hope this helps.

thanks. I feared that I have to draw on the image myself . I will try the gimp plugin. In case I write a tool myself, I will also post that.


A very nice free tool for creating normal maps based on high-resolution meshes can be found at:

Creating normal maps like that can give excellent results, but making high resolution versions of every model seriously increases developement time, so I’d think twice before doing it in a commmercial project.


thanks again. But I was really searching for something to turn a texture image into a normal map, not a mesh. The gimp plugin was exactly what I was looking for, works great, althoug it was a little painful to build (had to search for and install several rpms).