Automating landscape texturing - Introducing LandscapeBuilder

Moderators: Uros, OXO, JBr

Post Reply
HeroicLemon
Posts: 6
Joined: Thu Feb 21, 2019 2:56 pm

Automating landscape texturing - Introducing LandscapeBuilder

Post by HeroicLemon » Mon Mar 11, 2019 1:30 am

Greetings! Last month, I set about learning how to create landscapes for Condor V2. After following the guide, I saw some room for automating the texturing process for synthetic landscapes and, not finding an existing tool, I wrote one for myself. Once I had texturing automated, I realized I could do the same for the forest maps, and then the thermal map. After I did that, I thought I now had something others might like to use so I created a GUI for it and added some configuration options, and now it is ready to share.

Introducing LandscapeBuilder! Here is the archive containing the binaries: https://github.com/HeroicLemon/Landscap ... uilder.zip And here is the source code: https://github.com/HeroicLemon/LandscapeBuilder

The aim of LandscapeBuilder is to take the mask images created in the "Creating textures for our landscape" section of the Condor Landscape Guide and hours later (5-6 hours for the case of my 11x7 tile scenery) output the .DDS textures (complete with the alpha values for water), the .for forest map files, and the .tdm thermal file without interaction from the user of the software after the initial configuration. I wanted this to be something that could be kicked off before bed so that you could wake up to a completed landscape ready to fly (apart from the 3D objects, of course).

LandscapeBuilder does expect a single mask image per tile, named for that tile's position. The LandscapeBuilder Guide included with the release archive has a section on using QGIS's Atlas feature to create the masks in the format that LandscapeBuilder expects. Please read the guide for an understanding of how this tool is meant to work.

LandscapeBuilder is distributed with the Creative Commons Licensed "How in the world" textures by Jenna Fearon. If anyone has leads on other good textures that are free-to-distribute, I am all ears! LandscapeBuilder itself is licensed under the MIT License.

This software has had a moderate amount of testing, but I doubt I have covered all edge cases. Please let me know any bugs you find, or if you have difficulty getting the software to run.

Edit: Updated the release URL for a bugfix.
Last edited by HeroicLemon on Mon Mar 11, 2019 4:34 pm, edited 1 time in total.

User avatar
Pit_R
Posts: 1348
Joined: Mon Feb 27, 2006 7:16 pm

Re: Automating landscape texturing - Introducing LandscapeBuilder

Post by Pit_R » Mon Mar 11, 2019 9:55 am

OMG!
Unimaginable!
Thank you very much! :)
No matter where you go... There you are...

Image
:::: Please use this envelope
Image
to send me a PM.

HeroicLemon
Posts: 6
Joined: Thu Feb 21, 2019 2:56 pm

Re: Automating landscape texturing - Introducing LandscapeBuilder

Post by HeroicLemon » Mon Mar 11, 2019 3:19 pm

I have found a couple of issues with the way I packaged the archive. Stand by for a new one!

HeroicLemon
Posts: 6
Joined: Thu Feb 21, 2019 2:56 pm

Re: Automating landscape texturing - Introducing LandscapeBuilder

Post by HeroicLemon » Mon Mar 11, 2019 4:33 pm

That's what I get for trying to do this at the end of the day on a Sunday! I had made some small changes to the way I handled directories that I did not test properly on a non-development machine. New release is here: https://github.com/HeroicLemon/Landscap ... uilder.zip

Now people should actually be able to run this program.

User avatar
Andy1248
Posts: 1423
Joined: Wed Nov 29, 2006 3:06 pm
Location: Biggleswade, Bedfordshire

Re: Automating landscape texturing - Introducing LandscapeBuilder

Post by Andy1248 » Wed Apr 03, 2019 4:13 pm

Not much feedback on this very impressive scenery tool. I have recently found the time to trial it on a small scenery. It works extremely well. Highly recommended if you want to automate the texture creation process. I found that I needed a more recent issue of QGIS for the atlas function to work. I was working with an early version which did not allow setting the grid dimensions in pixels.
😊
Condor CN = E20

luisbriones
Posts: 40
Joined: Fri Nov 14, 2014 4:56 pm

Re: Automating landscape texturing - Introducing LandscapeBuilder

Post by luisbriones » Wed May 29, 2019 9:57 pm

Great!!!!!

KipperUK
Posts: 179
Joined: Fri Sep 21, 2018 9:30 pm

Re: Automating landscape texturing - Introducing LandscapeBuilder

Post by KipperUK » Tue Jun 04, 2019 3:47 pm

It's not fully clear from the OP what the tool does...

Does it create a landscape from specified lat/long bounds and grab all of the height data and sat pics for you?
Does it take existing landscape sat pics and mark all the trees and water for you?
Does it randomly generate textures to go on a landscape for you, making a synthetic (but not accurate) field/road/river map?

Does it do something else entirely?

User avatar
wickid
Posts: 2442
Joined: Mon Dec 04, 2006 7:32 pm
Location: Venlo, NL
Contact:

Re: Automating landscape texturing - Introducing LandscapeBuilder

Post by wickid » Tue Jun 04, 2019 4:21 pm

KipperUK wrote:
Tue Jun 04, 2019 3:47 pm
It's not fully clear from the OP what the tool does...

Does it create a landscape from specified lat/long bounds and grab all of the height data and sat pics for you?
Does it take existing landscape sat pics and mark all the trees and water for you?
Does it randomly generate textures to go on a landscape for you, making a synthetic (but not accurate) field/road/river map?

Does it do something else entirely?
The way I understand it it makes textures from open street map data. So the roads, rivers, lakes, towns and forrest will be in the correct spot, but the textures are syntetic. Like the default Slovenia scenery. The final look ofcource depends on the chosen tileable textures used for the different layers.
PH-1504, KOE

bbonamin
Posts: 1
Joined: Tue Jun 18, 2019 7:14 pm

Re: Automating landscape texturing - Introducing LandscapeBuilder

Post by bbonamin » Tue Jun 18, 2019 7:18 pm

Thanks for such a great tool.
I'm taking the first steps towards the custom Landscape creation.

Following the tutorial attached with LandscapeBuilder, it mentions creating a Print Layout with dimensions of 8192x8192 pixels... I'm running QGIS desktop 2.18, and that's not an option for me, I only see mm and inches. Is there someplace else where I can activate pixels as an export dimension?

( Upgrading to the latest QGIS makes me lose the ability to edit the console command sent when merging / cropping / warping to add `-tr 30 30` so I am using the same version as described in the landscape building initial tutorial, Thanks)

HeroicLemon
Posts: 6
Joined: Thu Feb 21, 2019 2:56 pm

Re: Automating landscape texturing - Introducing LandscapeBuilder

Post by HeroicLemon » Sun Jul 07, 2019 10:22 pm

Apologies for the delayed response; I work as a software engineer professionally, and over the last few months as we try to wrap up our codebase for a release I've been incredibly busy at work and the last thing I've wanted to do when I get home is look at more code :). Couple that with it being better weather for IRL soaring and I've been neglecting this project.

At the moment, this tool automates some of the process of synthetic texture creation described in JBr's wonderful Landscape Guide. You will still need to use QGIS or some other tool to generate the input tiles, but LandscapeBuilder takes over the manual tasks described in JBr's guide where Paint.NET is used to composite the QGIS output into actual DDS textured landscapes, create water textures and create the thermal and forest maps. By default, it uses the color scheme from the USA's National Land Cover Database in order to match the "How in the World?" textures to the appropriate land types, but you can customize it to the color scheme of whatever data you use.
Following the tutorial attached with LandscapeBuilder, it mentions creating a Print Layout with dimensions of 8192x8192 pixels... I'm running QGIS desktop 2.18, and that's not an option for me, I only see mm and inches. Is there someplace else where I can activate pixels as an export dimension?

( Upgrading to the latest QGIS makes me lose the ability to edit the console command sent when merging / cropping / warping to add `-tr 30 30` so I am using the same version as described in the landscape building initial tutorial, Thanks)
I can't help with the older versions of QGIS, but in 3.4 I was able to specify the file resolution in a textbox, which added the -tr argument to the command automatically.

Image

gsurfdude
Posts: 43
Joined: Tue Oct 30, 2018 4:03 pm

Re: Automating landscape texturing - Introducing LandscapeBuilder

Post by gsurfdude » Wed Nov 20, 2019 10:45 pm

Awesome tool!!

Where did you get the map that's in the PDF included?

Tha Condor Landscape has you getting "bil" files from earthexplorer.

I am not a GIS wiz. I am a Linux admin...

bloggerbert
Posts: 5
Joined: Mon Oct 01, 2018 7:57 am

Re: Automating landscape texturing - Introducing LandscapeBuilder

Post by bloggerbert » Thu Nov 21, 2019 12:13 am

Hiya Heroiclemon,
I have only been able to run your Landscapebuilder software once. Since then the scenery wont run. Any chance of getting an additional diagnostic that tells what it is unhappy with when it just sits for 24hrs and does not indicate what is wrong.
Best regards and continue with your good work.
Bloggerbert

HeroicLemon
Posts: 6
Joined: Thu Feb 21, 2019 2:56 pm

Re: Automating landscape texturing - Introducing LandscapeBuilder

Post by HeroicLemon » Thu Nov 28, 2019 3:54 am

gsurfdude wrote:
Wed Nov 20, 2019 10:45 pm
Awesome tool!!

Where did you get the map that's in the PDF included?

Tha Condor Landscape has you getting "bil" files from earthexplorer.

I am not a GIS wiz. I am a Linux admin...
I'm assuming the map you are referring to is the one in Appendix A of my guide. That was generated following the Condor Landscape Guide, and the colors come from overlaying data from the National Land Cover Database.

HeroicLemon
Posts: 6
Joined: Thu Feb 21, 2019 2:56 pm

Re: Automating landscape texturing - Introducing LandscapeBuilder

Post by HeroicLemon » Thu Nov 28, 2019 3:56 am

bloggerbert wrote:
Thu Nov 21, 2019 12:13 am
Hiya Heroiclemon,
I have only been able to run your Landscapebuilder software once. Since then the scenery wont run. Any chance of getting an additional diagnostic that tells what it is unhappy with when it just sits for 24hrs and does not indicate what is wrong.
Best regards and continue with your good work.
Bloggerbert
I can look at adding some more outputs to the log to help track down what your issues are, but have you tried the option to generate a single tile as described on page 3 of the LandscapeBuilder Guide? That may help narrow down if there is actually a problem or if the generation is just taking a long time.

User avatar
Andy1248
Posts: 1423
Joined: Wed Nov 29, 2006 3:06 pm
Location: Biggleswade, Bedfordshire

Re: Automating landscape texturing - Introducing LandscapeBuilder

Post by Andy1248 » Thu Jun 02, 2022 11:14 pm

Long time since the last post on this thread. On an earlier post it was stated that the colours on the input tiles are based on the USA Nation Land Cover Database. However on my input tiles I am using Black as that is also the colour of water on the condor water tiles. Black has a hex code of 000000 which oddly is not recognised by the Landscape Builder program. If I change the colour to hex 010101 (almost black) it works ok. Have I used a colour hex parameter which is not expected by the software?

No big deal as all I have to do is make sure that black (000000) is not on any of the input tiles, but would be nice to know why this happens.
Condor CN = E20

Post Reply