Height2Normal(v. 2.1) - convert height maps to normal maps
Height2Normal(v. 2.1) - convert height maps to normal maps
Hi!
This is a tool I developed primarily for my needs, but there's no reason why I can't share it with you. I hope you'll find it useful.
I think the name explains it all, but take a look at this screen to see how does the interface look like
So, here is how you use it:
1. Load a height map;
1.1. If you want, you can also load a diffuse map to get a better idea of how will the normal map look like. If not, the height map will be used as a diffuse map.
2. Play with the amplitude value to get the desired effect.
3. Choose a file name for the normal map. IF YOU DON'T CHANGE IT, IT WILL OVERWRITE YOUR ORIGINAL HEIGHT MAP(this is on purpose)
4. Hit the Save Normal Map button.
Changelog for 1.1
- The application is now forced to save the original height value into the alpha channel(this is kind of fundamental for parallax mapping). Up until now, the height value was only saved if the height map file was 32 bit on disc.
Changelog for 2.0
- Pre-compiled linux binary included!
- Compiled with Irrlicht 1.8
- Reworked the GUI
- Now using a custom subdivided cube mesh for the visualization, 8 interpolated normals of the irrlicht default one just weren't good enough
- You can now use mouse dragging to rotate the cube(this is still a bit glitchy but works mostly fine)
- Added VSync
- Cool new message boxes on normal map save success/fail!
- General optimizations(textures that are not needed anymore are removed automatically)
Changelog for 2.1
- Fixed a Linux crash
- Improved mouse input on Linux, but it's still not as good as on Windows
Download (pre-compiled windows and linux binary plus source with a CB gcc project and a linux makefile)
Released under zlib licence.
Have fun!
This is a tool I developed primarily for my needs, but there's no reason why I can't share it with you. I hope you'll find it useful.
I think the name explains it all, but take a look at this screen to see how does the interface look like
So, here is how you use it:
1. Load a height map;
1.1. If you want, you can also load a diffuse map to get a better idea of how will the normal map look like. If not, the height map will be used as a diffuse map.
2. Play with the amplitude value to get the desired effect.
3. Choose a file name for the normal map. IF YOU DON'T CHANGE IT, IT WILL OVERWRITE YOUR ORIGINAL HEIGHT MAP(this is on purpose)
4. Hit the Save Normal Map button.
Changelog for 1.1
- The application is now forced to save the original height value into the alpha channel(this is kind of fundamental for parallax mapping). Up until now, the height value was only saved if the height map file was 32 bit on disc.
Changelog for 2.0
- Pre-compiled linux binary included!
- Compiled with Irrlicht 1.8
- Reworked the GUI
- Now using a custom subdivided cube mesh for the visualization, 8 interpolated normals of the irrlicht default one just weren't good enough
- You can now use mouse dragging to rotate the cube(this is still a bit glitchy but works mostly fine)
- Added VSync
- Cool new message boxes on normal map save success/fail!
- General optimizations(textures that are not needed anymore are removed automatically)
Changelog for 2.1
- Fixed a Linux crash
- Improved mouse input on Linux, but it's still not as good as on Windows
Download (pre-compiled windows and linux binary plus source with a CB gcc project and a linux makefile)
Released under zlib licence.
Have fun!
Last edited by ent1ty on Fri Mar 28, 2014 12:40 pm, edited 5 times in total.
irrRenderer 1.0
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
hmm
thanks for the new tool but it does seem to have a bug in linux where it locks up my mouse clicks even outside the window and none of the gui stuff works.
Live long and phosphor!
-- https://github.com/netpipe/Luna Game Engine Status 95%
-- https://github.com/netpipe/Luna Game Engine Status 95%
That's odd... sounds like an irrlicht issue to me. Did you run it using wine or did you recompile it for linux?
irrRenderer 1.0
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
-
- Posts: 1186
- Joined: Fri Dec 29, 2006 12:04 am
Quite frankly, i have suspected this for some time.
tecan, you might like to spend some money on engineering next Christmas.
randomMesh: thanks for info
tecan, you might like to spend some money on engineering next Christmas.
randomMesh: thanks for info
irrRenderer 1.0
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
turns out it was running too fast, once i put dev->sleep(10,0); in there it runs just fine.
Live long and phosphor!
-- https://github.com/netpipe/Luna Game Engine Status 95%
-- https://github.com/netpipe/Luna Game Engine Status 95%
Maybe vsync would do better... is that a justification for a new(bugfix) version?
irrRenderer 1.0
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
There is a new version in the first post, together with the changelog.
irrRenderer 1.0
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
Re: Height2Normal(v. 1.1) - convert height maps to normal ma
any chance of a heightmap preprocessor for relaxed cone stepping??? (GPU Gems 3 article)
Re: Height2Normal(v. 1.1) - convert height maps to normal ma
Hah! Sorry, I didn't notice your reply until now, but that's what you get for not being on irc
Well frankly, i'm not very sure how one would go about doing that, what i did here is just call irrlicht to create the normal map and put a few shiny buttons with a cube on a window
Well frankly, i'm not very sure how one would go about doing that, what i did here is just call irrlicht to create the normal map and put a few shiny buttons with a cube on a window
irrRenderer 1.0
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
Re: Height2Normal(v. 2.0) - convert height maps to normal ma
Released a new version! Now also includes a precompiled linux binary, all info including a changelog in the first post.
If you hit any bugs with the linux version, please let me know. I was compiling it on a virtual machine without 3D acceleration so it's more or less "untested".
If you hit any bugs with the linux version, please let me know. I was compiling it on a virtual machine without 3D acceleration so it's more or less "untested".
irrRenderer 1.0
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
Re: Height2Normal(v. 2.0) - convert height maps to normal ma
Crashes when changing amplitude after loading diffuse texture.
Working on game: Marrbles (Currently stopped).
Re: Height2Normal(v. 2.1) - convert height maps to normal ma
Should be fixed now. However, for some reason, mouse input works differently under Linux. I attempted to solve this with a define, but it's still slightly jittery.
irrRenderer 1.0
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
Re: Height2Normal(v. 2.1) - convert height maps to normal ma
entity.. wanna do a merger under zlib or mozilla license???
I've done my own height to normal map code... and I believe it to be mathematically superior to anything I have seen so far that is open source
Now I have finished the maths to solve for heightmaps given only normal maps
interested???
I've done my own height to normal map code... and I believe it to be mathematically superior to anything I have seen so far that is open source
Now I have finished the maths to solve for heightmaps given only normal maps
interested???
Re: Height2Normal(v. 2.1) - convert height maps to normal ma
sure, got any nice pics?
irrRenderer 1.0
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!
Height2Normal v. 2.1 - convert height maps to normal maps
Step back! I have a void pointer, and I'm not afraid to use it!