Cultivation template file for scenProc

  • I should be able to remove them. While roads look wide in OSM they are only stored as a line, so I'll need to do something different to that used to remove trees from water. I can get the script to look for trees within a set distance of any road and remove them. I used this sort of command successfully in the filler template I created to create houses without OSM data. I'll add it to the to do list.

    Thank you Chris, that sounds very promising:thumbup:

    Jakob

  • Maybe you can make this depending from the type of road. (Similar to the lights generation at the roads).

    The higher the class, the wider the no-trees area.

    Done. Will be included in version 7. I just used the same width vs road size I used in my Autogen Buildings Template to remove surplus houses from the edges of roads. You can fine tune values if you want.

    Thanks, Chris

    Win 10 64-bit, 24GB RAM, i5-9400F @ 3.9, 6GB Nvidia RTX-2060

  • I wonder if something could done to populate large parking lots using ScenProc by adding some sort of organized rows of parked cars for large commercial centers. Tom’s 3D parked cars in the Turkey Creek and Apollo50 packs are absolutely outstanding additions.

    This may be possible. But the textures of the real cars gives a good result if you are not too low. Will have to see what impact other 3d models have on performance.

    Thanks, Chris

    Win 10 64-bit, 24GB RAM, i5-9400F @ 3.9, 6GB Nvidia RTX-2060

  • Version 7 of my cultivation template is now available for use, and you can find it on page 1 of this thread. Don't forget to update the input file name and folder in the ImportOGR line at the start and the output file name and folder in the ExportTSC line near the end.

    Latest scenProc version is required – You will need to have a version of scenProc build date of 2/09/2019 or higher. Earlier scenProc versions will not work with this template. Also the newer version of scenProc will not work with your existing scripts, so best keep a copy of your existing version of scenProc. Alternately you just need to add additional values to your CreateAF2Building command lines to allow them to run with the new scenProc version. Download the latest scenProc here https://www.scenerydesign.org/development-releases/

    Testing - The template was tested using 3 areas, Birmingham in the UK, New Orleans in the USA and Brisbane in Australia. So any script combinations were designed to function for buildings in these 3 fairly diverse locations. Hopefully this is sufficient to allow it to work effectively for other parts of the world.

    CPU usage - The template is separated into 2 sections or steps. Lines in Step 1 will generally result in high CPU usage, while those in Step 2 result in low CPU usage.

    Complexity - The template is quite complex. As a result I have documented each section's purpose and identified any user changeable areas as a “TIP” with an appropriate explanation of the changes possible. Just search for TIP to locate these areas. You are welcome to change values outside these TIP areas, but you do so at your own risk.

    Output files - Recent changes by Arno allows scenProc to create a linked TSC and TOC file. Copy both of these over to your Aerofly scenery folder. scenProc will use the name specified in the ExportTSC line for the TSC file name and generate a new filename for the linked TOC file. Make sure you also copy the “building_textures” folder from a FSCloudport airport folder to the same location as your new TSC/TOC files, or else buildings well not appear in Aerofly.

    As scenProc automatically creates its own TSC now, don’t forget to disable any TOC reference in any existing airport TSC for the cultivation area you are recreating. Otherwise you might end up with duplications.

    Visibility distance – I did see a comment by iPacs once that indicated that building draw distances are controlled by the size value used in a TSC file. However my experience is this is not the case (at least with user created cultivation and airports). Buildings and plants will start to fade in at about 4 nm. This is only usually noticeable for very tall buildings as the others blend in with the ground textures as they fade in as you approach them and fade out as you move away. Lights and FSCloudport structures (or any 3d object referenced in a TSC file) are usually visible from a very great distance, only disappearing when they are too small for your screen to draw. Whether this causes a performance problem is hard to tell.

    TSC files – You may note that the TSC file sometimes has no master position on line 6 and a distance value of infinity on line 7. This is a result of the way scenProc compiles the data for the TSC and TOC files. Oddly enough this doesn’t prevent buildings, plants or lights appearing in the correct places in Aerofly, or affect visibility distances. It may be corrected later, but as it has no obvious impact isn’t a high priority.

    Thanks, Chris

    Win 10 64-bit, 24GB RAM, i5-9400F @ 3.9, 6GB Nvidia RTX-2060

    Edited once, last by crispy136 (September 4, 2019 at 1:05 PM).

  • Chris,

    I chose New Orleans for my first test. I did the eastern half of the city as the first step and it looks fantastic. The better shaped building and towers make it more realistic. Using the buildings texture folder from fsCP gives unrealistic read roofs so I used the building texture folders from Rodeo's WA North scenery for more subdued roof colors.

    I have one or two remaining oversized building along the river in the city center - do you have that in your New Orleans test?

    I see large round tanks up near Lake Front airport and was wondering what your new version would do for the superdome. It is "round" but, needs the real thing imported for realism.

    I am off the see if the west side of town has any cultivation out near the big airport.

    This is a very large step in the right direction. Thanks for all your hard and creative work.

  • The Western part of the city is still very weak in OSM data but, there are big improvements in the number of buildings along the main highways and interstate. The tank farm along the river SW of the big airport shows up very well but, has a lot of flashing and dancing textures. I'm not sure you can see where the movement is in the image but, it is distracting for sure.

    The barges in the river is a new addition.

  • I did Baton Rouge, LA with v7 to see if the large petro chem plants would have any new stuff. I few isolated tanks and some poles, but the area has more and better shaped buildings for sure.

  • Hi Ray,

    the OSM community is still looking for volunteers like you, who are drawing and publish more tanks.

    Scenproc can only show, what is there, and this is not much in this area :)

    Oh, I understand that, but, I wonder what is special about these few tanks in the middle of it all that got added to the OSM data. :P:/:huh:

  • have one or two remaining oversized building along the river in the city center - do you have that in your New Orleans test?

    Yep. This is the Ernest M Morial Convention Centre.

    This was never going to render well as:-

    1. It is a very large building with lots of very small odd shaped bits

    2. It is slightly boomerang shaped, hence the 2 large buildings not quite aligned.

    3. Two freeways go over it. So any building that is actually under a roadway is a problem for Aerofly, as the roads are rendered as textures, and buildings are structures that always sit on top of textures.

    4. scenProc has no way of splitting the building based on the freeways that pass over it.

    Chris just a couple of pictures flying over the power station and oil refinery near my old home town of Milford Haven in West Wales and to say THANK YOU again for all your hard work.

    Glad it is all working out for you. I thought the storage tanks added a new dimension of realism. And they are often near airports.

    Thanks, Chris

    Win 10 64-bit, 24GB RAM, i5-9400F @ 3.9, 6GB Nvidia RTX-2060

    Edited once, last by crispy136 (September 4, 2019 at 1:02 PM).

  • Version 7 of my cultivation template is now available for use, and you can find it on page 1 of this thread. Don't forget to update the input file name and folder in the ImportOGR line at the start and the output file name and folder in the ExportTSC line near the end.

    Hi Crispy,

    Thank you so much for your outstanding work.

    Just a question: in the end of Step 1 I see you merge data again, i.e. loosing the Splitgrid effect.

    As a result, ExportTSC will create 1 huge TOC file instead of multiple medium-sized tiles.

    How large areas have you tried yet covering with single TOC files? How does it load and show up in AFS2 when flying from abroad, i.e. not starting from within the scenery?

    I ask this because earlier tests showed in such a case cultivation would definitely not load before you're close enough from the tile center (i.e. you may be already overflying it if the tile is large enough and the size parameter small enough) and then AFS2 would start stuttering or even pause as cultivation loads.

    IPACS changed something a while ago to how cultivation is being loaded and a more recent quick tests showed cultivation loaded progressively while approaching my scenery, but the latter was not that huge...

    I asked recently again Torsten what was best for regional coverage between many small TOC files or a single large one, but the outcome is still not quite clear.

    On the one hand Torsten wrote:

    Quote

    The split up of a large scenery into individual TSC files is what I always recommend. It puts less pressure on the memory usage and it also avoids long loading times.

    On the other hand, following this rule I ran into troubles with multiple TMB objects, each called by an individual TSC file that kneeled down AFS2.

    Torsten wrote then:

    Quote

    (...) Everything thats in a single TSC file, e.g. 3D objects from TMB files, lights, cultivation objects can be optimized after/during loading. E.g. Aerofly FS will combine meshes and textures for efficent rendering. This optimization does NOT work across different TSC files, thats why you are seeing this huge performance problem. Once you have less TSC files you should

    see a much better performance. However the loading times are probably still quite long as Aerofly FS needs to load all those small TMB files.

    Of course, calling all TMB objects (approx 13k) from 1 single TSC file was no good either.

    Torsten then recommended to split TSC files into rather large tiles:

    Quote

    (...) the optimal grid size depends a little bit on the detail level you use. (...) some experimenting might be required, but

    in general I would arrange everything in a grid and the grid size should probably be something like 20 to 40km

    So, for my TSC files calling TMB objects, but also for TOC files, I ended up following the AFS2 Level10 grid tile size.

    This was a big improvement, though still not enough for my scenery.

    I haven't investigated further yet cultivation optimal tile size, that's why I'm wondering if anybody gathered different experience on it.

    If it proves out AFS2 Level 10 tile size to be a reasonable optimum for TOC tile coverage, then I would ask Arno if there's a chance to add a CULT argument to SplitGrid, similar to AGN but for AFS2 Level 10 tiles...

    Any feedback welcome

    Cheers

    Antoine

    Config : i7 6900K - 20MB currently set at 3.20GHz, Cooling Noctua NH-U14S, Motherboard ASUS Rampage V Extreme U3.1, RAM HyperX Savage Black Edition 16GB DDR4 3000 MHz, Graphic Card Gigabyte GeForce GTX 1080 8GB, Power supply Corsair RM Series 850W, Windows 10 64 bit.

    Edited once, last by Trespassers (September 4, 2019 at 2:29 PM).

  • Hi Antoine

    How large areas have you tried yet covering with single TOC files? How does it load and show up in AFS2 when flying from abroad, i.e. not starting from within the scenery?

    I have found that 3d objects contained inside a TSC appear as soon as they can be rendered as a single pixel on your monitor. This is experience from flights some considerable distance away from the objects.

    Like you I found some time ago that level 10 grid size for the OSM source data gave the best results. Any bigger and things start disappearing.

    Of course, calling all TMB objects (approx 13k) from 1 single TSC file was no good either.

    I also found there is a limit to the level of detail a TSC can provide before things start disappearing. When designing a complex airport for my home town I ran into this limit somewhere north of 280 objects. So I had to keep the objects under this limit. Whether this just a finite number of objects, or is also impacted by the complexity of those objects is anyone's guess. I found that this limit only applies to a single TSC, as multiple TSC files covering neighbouring areas can comfortably exceed this limit even though all objects from both TSCs are visible at the same time.

    I am just starting to integrate 3d objects into my template, so I guess I will bump into that as I get further along.

    I ask this because earlier tests showed in such a case cultivation would definitely not load before you're close enough from the tile center

    My experience is that buildings and trees fade in at about 4nm distance. And this still happens even if the centre point in the TSC has no value. On the other hand lights (TOC) and 3d objects (TSC) are visible from the moon (OK a slight exaggeration). This disagrees with what iPacs have said about object draw distances. My Dad had a great quote "Don't believe anything you hear, and only half of what you see."

    If it proves out AFS2 Level 10 tile size to be a reasonable optimum for TOC tile coverage, then I would ask Arno if there's a chance to add a CULT argument to SplitGrid, similar to AGN but for AFS2 Level 10 tiles...

    This will cause problems for complicated scripts like my template. I understood that the main purpose of the split grid command is to allow scenProc to multi-task effectively, not for file output. Hence the merge grid to put it all back together. Making the split grid value too big, increases processing times significantly. The split gird value I use was the result of a trial and error testing to find the minimum processing time. This is why your CPU will hit 100% during various parts of Step 1 section.

    One thing I would like to see is cultivation integrated with AeroScenery. With the depth of structures being created by the latest template, I think that time is getting closer. I saw a post by nickhod saying he would like to see the same thing. It all depends on whether AeroScenery can access OSM in the same manner as it does Google, Bing and ArcGIS. Then it would just need to remotely run scenProc with an appropriate script. scenProc already has a batch mode but I've never looked at it. If it could do this then installing the resulting files into Aerofly should also be possible. Using AeroScenery to kick off cultivation would also allow easy access to the level 10 sized grid that seems best optimised for cultivation.

    Lastly looking at the comments you posted from iPacs I think he may have been talking about initial load time in the 1st quote. ie from when you click start, until you can gain control of an aircraft. While in the second quote he was talking about loading scenery when flying. I've notice Aerofly takes much longer to get me into the aircraft than it did with just textures. Whether this also impacts performance once you are flying I do not know.

    Thanks, Chris

    Win 10 64-bit, 24GB RAM, i5-9400F @ 3.9, 6GB Nvidia RTX-2060

  • Hi Chris,

    Thanks for your detailed reply, I appreciate!

    This will cause problems for complicated scripts like my template. I understood that the main purpose of the split grid command is to allow scenProc to multi-task effectively, not for file output. Hence the merge grid to put it all back together. Making the split grid value too big, increases processing times significantly. The split gird value I use was the result of a trial and error testing to find the minimum processing time. This is why your CPU will hit 100% during various parts of Step 1 section.

    I see no issue actually, in ScenProc I currently use a SplitGrid with a 0.1°x0.1° tile setting.

    ExportTSC outputs then a lisiting of TOC files, each with a tile name by corners coordinates.

    I coded a tool to generate the corresponding TSC files and there you go.

    If Level10 tiles is the best compromise and Arno can implement a so-called CULT argument in SplitGrid, then ExportTSC would output a TOC file per Level10 Tile, named after the Level10 grid, just like ExportAGN does with LOD13 autogen tiles.

    The script can use the Level10 tile name to generate the corresponding TSC file.

    Cheers

    Antoine

    Config : i7 6900K - 20MB currently set at 3.20GHz, Cooling Noctua NH-U14S, Motherboard ASUS Rampage V Extreme U3.1, RAM HyperX Savage Black Edition 16GB DDR4 3000 MHz, Graphic Card Gigabyte GeForce GTX 1080 8GB, Power supply Corsair RM Series 850W, Windows 10 64 bit.