I would like to introduce the small port (the credits to original author are provided on the page) to Java I have finished recently, which would allow you to create normal and dudv maps without the recurrence to 3rd part software, you can do it directly from your code. I made this port, since I could not find any Java implementation.https://github.com/serhiy/texture-manipulation
To include the lib in you Maven project you could use https://jitpack.io/
The result of applying the filters in correct order should look like:How it works?
There are few examples on the GitHub, but you pass the BufferedImage to the convert function of appropriate class and receive a new BufferedImage which can be either height (or simply greyscale), normal or dudv map.Why(and where) it is useful?
In my case for example I am automatically generating normal and dudv when adding the texture to my texture atlas (in the tool I am building). Of course you can use more sophisticated tools for doing that, but when it is automatic it costs you less time ofc.
Feel free to give feedback. I might consider adding new features if requested and I find the algorithms for that in the Web.