In recent days I had a need to generate a normal map from diffuse map. Actually, I had to generate a couple of hundreds normal maps. So I quickly googled for a normal map generator. It's a common "problem" so I was sure a ready-to-use solution had already been there. Turned out I was wrong. Indeed I had stumbled upon a lot of normal map generators but they turned to either be too complex to use, costed money or - what is particularly incomprehensible - none of the programs I had found could run in command-line mode! Not even libs and headers were provided so I could write my own tool. Did they really expect me to click over a couple of hundreds diffuse maps? So eventually I came up with my own program. To my surprise it turned out to be easier than I had initially thought. I bet there are many algorithms for tackling this problem but I really needed anything.
You can get my program's code here. It's written in C# and runs in command-line. The program takes four arguments:
- input diffuse map file's path
- output normal map file's path (can be the same as first argument)
- scale - the bigger this value the bigger the "contrast" of the normal map will be
- border - width of border of the image filled with (0, 0, 1) normal
No comments:
Post a Comment