Terrain Texture Generator ?>

Terrain Texture Generator

As the ZornGL-Engine had it's own terrainrenderer, I decided to write this tool that can automatically generate a single huge texture map for a terrain. Based on the height-values in a greyscale image (the heightmap) it generates a single texture with a given set of texture distrbuted depending on the height of the map at a certain point. Over time the tool evolved and a lot of functionality was added, even upon user request as this tool seems to be widely used (even in some known projects). So the latest version has a nice new interface, can generate textures up to 4096x4096 pixels, renders (and if needed blurs) a lightmap depending on the sun-position and orientation and much more. And for all those interested in maybe putting on-the-fly terrain texture generation into their own projects, I also released the source for version 1.6 (recent one is 2.0). The idea for the generation of the terraintexture comes from a FlipCode tutorial about Terrain Texture Generation. The shadowmap generator is based on a GameDev tutorial called Fast Computation of Terrain Shadow Maps .
Installer Zipped Win32 executable version 2.0
zip Zipped sources for version 1.6 (Delphi)
Version 2.0 - Totally new user-interface (all options on one screen) - You can now blur textures (especially useful for shadows) Version 1.6 - Texturesize up to 4096*4096 - Much faster gernation of the terrain texture Version 1.5a - Fixed a bug that caused a crash when generating the texture without lighting Version 1.5 - Shadowgeneration - Different texture sizes - Real-time 3D Preview (using OpenGL) - Texturesizes now can differ - 5 instead of 4 base textures Version 1.0 - Initial Release

10 thoughts on “Terrain Texture Generator

  1. this is the program iv been lookin for, cause iv tried making my own textures with photoshop and ended up with crappy textures in a huge file, lol. THANK YOU! my search is over!

    1. Well, that error message is not helping much. Could you please post or send me (webmaster@delphigl.de) your system specs, mainly graphics card, OS and installed graphics drivers. Also please make sure the application is installed in a directory where you have user rights to write files to.

  2. It’s nice in concept, and I wanted to see what I could achieve with it. Unfortunately, I am stopped when trying to load my own heightmap with an error “Stream-Lesefehler.” which leaves me non-plussed. Oddly it still seems to allow me to generate a texturemap for the bmp I try to load though am unable to see the heightmap in the preview window. I’m not entirely sure what is happening. I can only guess it has something to do with the fact that I am running it on windows 8 x64 or that the bitmap has to be a very specific format. I saved the heightmap in greyscale 8-bit which I believe it the same as your sample. It was also 1024*1024, so it was a supported size. Can you shed some light on the issue?

    I will try to create and load texture maps of my own creation rather than the sample ones, but if I get the errors with those as well, it may prove a bit too combersome to use even if it does generate heightmap textures with none of the preview windows working.

  3. Hi Sascha,

    Just want to thank you for a truly excellent utility. The terrain texture generator has solved a real problem for me in matching terrain texture to height maps. I am programming a simple 3D game that has a character shot from a cannon across an island to hit a large target, etc, etc. Your utility has enabled me to simply and quickly create any island and the game is proceeding perfectly.

    Many thanks!


  4. How can I adjust how high say, the water texture is? My water is set a bit below what your heightmap considers as being water.

  5. After examine just a few of the blog posts on your website now, and I truly like your means of blogging. I bookmarked it to my bookmark website listing and will be checking again soon. Pls try my site as nicely and let me know what you think.

Leave a Reply

Your email address will not be published. Required fields are marked *