Object generation utility

  • It would be helpful to have some performance guidelines from IPACS regarding TSC based objects otherwise we may start to slide down the FSX path of add-ons where the smooth frame rates are impacted and new users get cold feet.

    Maybe someone has the time to run their own performance test - take a level 9 tile and fill it with 100 poles, then 1,000 poles, then 10,000 poles using a single TSC file. Does FS2 crash? If not, what's the frame rate?

    Performance may be tied to the polygon count of those 3D objects - 1,000 simple poles may be the same as 100 water towers. It's probably a function of your graphics card memory size too.

    You can have big numbers of trees and cultivated houses because only the ones within about a 6 km radius are processed and displayed - you can test this out by modifying one of your scenProc buildings so it's 100 stories tall.

    TSC objects, however, can be seen from +60 km if the object is big enough - if TSC objects eat away your graphics card memory, stutters can't be far away. If we had some guidelines, we could optimize the 3D models (polygon count) and better manage the object count in the TSC files.

  • Here is a simple guide, just take a look at the ORBX Netherlands or our South Florida DLC. They both have a ton of cultivation, custom buildings, lights etc. All of these objects and models are of low poly but the sheer amount of them and the way that we handle optimization, especially with the latest vulkan synchronous graphics loading functionality gives you a good perspective since with a decent PC can still provide you with framerates well above 100 and sometimes over 200. During my testing phases I use 4 different computers configures with different CPU's, GPU's and also with 2D and VR respectively. I have record of FPS, graphics load, and other items set in different configurations.

    I can tell you with certainly that if you have a good PC you shouldn't have too many problems but with that said the individuals developing these add-ons should still optimize their projects as much as possible. For this particular power line add-on the models used should have lower polys than what is there currently. If this is optimized it should handle just like any other cultivation.

    Keep in mind though that there are many different PC configurations out there so what is good on a 1080ti i7 system will not yield the same effect on a 970 i5 system.

    IPACS Development Team Member

    I'm just a cook, I don't own the restaurant.
    On behalf of Torsten, Marc, and the rest of the IPACS team, we would all like to thank you for your continued support.

    Regards,

    Jeff

  • Thanks for the quick feedback Jeff!

    By lower polygons, do you mean half of the current count? I don't know what the current poly count is (haven't tried any 3D modeling) but I noticed the 10-cable powerline pole has a TMB file = 62KB, should this be more like 30KB or 3KB?

  • Stu mentioned they came from SketchUp and have 7-8K vertices ...

    The models average 7,000 or 8,000 vertices. (according to ModelConverterX)

    I did not spend any time on model optimization. I was more interested in proof of concept.

    It will be possible to substitute more efficient models if required.

  • If you love the performance of the ORBX Netherland and own that product, then you also might like to use their Power Pylons for your own scenery.

    Do not distribute them!


    They are located here (path in yellow box):

    copy the ttx and tmb file to their corresponding folder (from top to bottom 2-cables .. 8-cables):

    2-cables

    3-cables

    4-cables

    6-cables

    8-cables

    and rename each tmb file to the 2..8-cables name. Do NOT rename the ttx file.

    Copy ls_gen_powerpylon_ddr01.ttx to 3-cables and

    ls_gen_powerpylon_normal03.ttx to 8-cables folder, as they use the same ttx.

    Cheers,

    Thomas

    Cheers, Thomas


    Edited 3 times, last by TomSimMuc (February 21, 2019 at 11:42 AM).

  • Such a tool makes me thinking. How can it be used outside of the power pylons.

    I am working on a generalization that uses an XML file to define way or node selection criteria and feature to model mapping criteria.

    Stay tuned.

    /Stu

    i7-6700K CPU @ 4.00GHz | ASUS Z170-A | 16Gb DDR4 | Samsung SSD 950 PRO NVME M.2 256GB | Samsung SSD 850 EVO 1TB | GeForce GTX 1080 Ti on GP102-A GPU | Oculus CV1 | Windows 10

  • One big wish I have for Stu is the implementation of animated windturbines.

    The tsc syntax is a little bit different then for the static objects:

    Also here Orbx NL has some objects you can use (same path as my Power Pylon example above):


    I think a lot of other designers are longing too for those wind turbines for automatic integration.

    Cheers,

    Thomas

    Cheers, Thomas


  • One big wish I have for Stu is the implementation of animated windturbines.

    I need to get the XML spec working first.

    The generalized utility is currently working equivalent to PylonGen using the XML, but there are a lot more scenarios to test.

    The animation configuration does not look like much of a stretch. Good sleuthing

    /Stu

    i7-6700K CPU @ 4.00GHz | ASUS Z170-A | 16Gb DDR4 | Samsung SSD 950 PRO NVME M.2 256GB | Samsung SSD 850 EVO 1TB | GeForce GTX 1080 Ti on GP102-A GPU | Oculus CV1 | Windows 10

  • This is an example of where I am headed with the XML configuration.

    Please review for flexibility for the scenarios you have in mind.

    I've posed some questions in the comments.

    Much easier to read if you paste into Notepad++

    /Stu

    i7-6700K CPU @ 4.00GHz | ASUS Z170-A | 16Gb DDR4 | Samsung SSD 950 PRO NVME M.2 256GB | Samsung SSD 850 EVO 1TB | GeForce GTX 1080 Ti on GP102-A GPU | Oculus CV1 | Windows 10

  • Great tool ! I just finished to cultivate all the pylons in Switzerland DLC : in valleys and mountains, these add a lot of immersion during flights, and some airports - like Reichenbach for example - are really more challenging with pylons just on final approach (like in reality).

    Of course It would be great if it would possible to cultivate cableways and skilifts pylons too, there are litteraly thousands in Switzerland, and it enhances greatly moutain landscapes !

    Keep on the good job ! Greetings

  • Hi Stu,

    thank you for your work with the XML file.

    Regarding the animation parameters:

    By analyzing the ORBX files, it seems to me, that only two other parameters show a varience:

    <[float64][rot_in_degree][126.9580078125]>

    <[float64][time_scale][1.1]>

    where rot in degree should be a random parameter for wind turbines

    time_scale should be identical for a turbine group at a near distance. It more or less represents the wind force.

    Cheers, Thomas


  • Hi Stu,

    regarding Oil Tanks:

    Please have a look at Vienna tanks here: 16.5026131, 48.1730016

    (c) Members of OSM

    By looking at the extended object information you can determine the circumfence.

    Substract the two X Coordinate range (projected) values from each other and multiply them by 0.476 and you get the circumfence in meters.

    I checked this with 3 tanks:

    Its also shown at the status line in JOSM, but I am not shure, if that parameter can be extracted from the OSM data directly.


    Cheers, Thomas

    Edit: replaced diameter by circumfence

    Cheers, Thomas


    Edited once, last by TomSimMuc: replaced diameter by circumfence (February 28, 2019 at 11:40 AM).

  • manmade water towers also?

    the XML should work for water towers as well

    there is no "feature" specific logic

    As long as there is enough tag information to select the feature and map to a model, it will work


    the algorithm is as follows


    i7-6700K CPU @ 4.00GHz | ASUS Z170-A | 16Gb DDR4 | Samsung SSD 950 PRO NVME M.2 256GB | Samsung SSD 850 EVO 1TB | GeForce GTX 1080 Ti on GP102-A GPU | Oculus CV1 | Windows 10

  • Of course It would be great if it would possible to cultivate cableways and skilifts pylons too,

    I had though of ski lifts.

    It should work out of the box for the generic lift pylon case.

    What I wanted to try was defining explicit models for the first and last nodes to give lower and upper stations.

    On my list of scenarios.

    /Stu

    i7-6700K CPU @ 4.00GHz | ASUS Z170-A | 16Gb DDR4 | Samsung SSD 950 PRO NVME M.2 256GB | Samsung SSD 850 EVO 1TB | GeForce GTX 1080 Ti on GP102-A GPU | Oculus CV1 | Windows 10

  • I had though of ski lifts.

    It should work out of the box for the generic lift pylon case.

    What I wanted to try was defining explicit models for the first and last nodes to give lower and upper stations.

    On my list of scenarios.

    /Stu

    wow ! Let me know if you progress ! Ski lift and cable ways (I never could have dreamed about lower and upper stations ) would be awesome !

    Regards