WIP - Guam Theatre
-
projection as?
3ws?
Projection of terrain. Falcon projection is “fake” as it treats the earth grid as it was made of straight lines…
-
Well… Maybe apply the same conversion as is now.
What I mean besides heights u can place them on flat terrain. In falcon, as I see it, the code elevates the object and shows above the terrain.
But u must place them one by one. Killer.
So the code must distinguish each and place it above the terrain with z (bottom) of object snapped to the terrain z (top).
I believe this already works for the trees.
So create more instances like trees… Use different 3d object source declaration. Update terrain editor or create new tool for manipulation…
Done.[emoji38]
So easy… few lines that can result to months for implementation and testing.
Since I mentioned 3ws… Ain’t there a way it could be used and implemented for easier manipulation? Code and user wise.
Just in case 3ws is used for 3d in web.Στάλθηκε από το MI 5 μου χρησιμοποιώντας Tapatalk
-
Projection of terrain. Falcon projection is “fake” as it treats the earth grid as it was made of straight lines…
The “WORLD IS FLAT”….IN fALCON…run and hide!!! ROTF LMAO ……How many times have we YET to explain it to peeps???
BTW nice to see your banning butt again, guess your interested in this little “out of the Box” thinking?
So a LITTLE more food for thought……whilst going through this learning curve:
As you see I am NOT ignoring the possibilities for other theaters. That is just a 10km sample of an area in N.Korea.
It is a can do.demer
BTW Gilmans idea of the Falcon world was with Universal Transverse Mercator coordinate system I believe, which is FLAT….and Old, just like me…LOL!
-
Interesting stuff…
How do you match RL positional data with Falcon’s fake projections? Are you shifting everything by hand or is there some automated procedure?
And 1 more thing please. Is it possible (As start) to export RL buildings locations from such tool with the following info:
1. Horizontal position - Say in RL LAT/LONG
2. Size (Assume rectangular shapes only, so say X * Y in feet/meters/inches/human-arms/whatever)If yes then how painful can that be to export say a single KTO city/village ?
CE provides the advantage of LOCKING an Object to the Terrain in two ways: 1 per Real World coords and 2 Object space …choose 2 for Falcon. The object Location (XYZ) does not change then.
As far as RL position, I had already projected the Land Mass at UTM 55N to match my MAP file in Guam.Cheers,
demer -
The “WORLD IS FLAT”….IN fALCON…run and hide!!! ROTF LMAO ……How many times have we YET to explain it to peeps???
Hey, I don’t always know if you are laughing or not, nor which direction you think is the right one, so I’ll just say the “fact”:
Falcon world IS flat, that’s the only way that the X/Y values of all Falcon entities can work, good luck in changing to real LAT/LONG, that I think will never happen.guess your interested in this little “out of the Box” thinking?
Yea I’m interesting in everything related to terrain… you have no idea how much
So a LITTLE more food for thought……whilst going through this learning curve:
As you see I am NOT ignoring the possibilities for other theaters. That is just a 10km sample of an area in N.Korea.
Cool… I assume that’s 30m resolution data.
It is a can do.
Can do export… but the more problematic to do is the code that can render that (or something else “Good enough”) :mrgreen:
BTW Gilmans idea of the Falcon world was with Universal Transverse Mercator coordinate system I believe, which is FLAT….and Old, just like me…LOL!
Yes UTM is probably the best way to translate Falcon flat X/Y to “real” Heightmap positions, then all that is needed is to take the reference position (On earth grid) that the given Heightmap use, and apply the same export to other data (Like e.g buildings), but since I’m not managing the “export of data process” (Unfortunately) myself, I don’t really know to tell the projection used (for what I need)…
CE provides the advantage of LOCKING an Object to the Terrain in two ways: 1 per Real World coords and 2 Object space …choose 2 for Falcon. The object Location (XYZ) does not change then.
As far as RL position, I had already projected the Land Mass at UTM 55N to match my MAP file in Guam.Yea that makes sense… So I just need to get my “UTM ***” needed projection in order to get data
-
“Hey, I don’t always know if you are laughing or not, nor which direction you think is the right one, so I’ll just say the “fact”:
Falcon world IS flat, that’s the only way that the X/Y values of all Falcon entities can work, good luck in changing to real LAT/LONG, that I think will never happen.”I laugh a lot anymore when it comes to Falcon, for real. Not as serious about Dev’ng as I was once required to be. As far as what I think is the right direction…thats easy, it doesn’t matter what I think. Freds tool sez’ EW\NS\WE\SW or something like that…ICRCATM…LOL!!! There’s your laugh
The “FACT” is correct and peeps Dev’ng in this world need to understand it!
“Yea I’m interesting in everything related to terrain… you have no idea how much :)”
K maybe we can communicate again without Falcon politics?
“Cool… I assume that’s 30m resolution data.”
Correct 30m @10km x 10km from SRTM data. The Data set is spotty though……be careful. I think ASTERS Metadata may be better but have not investigated yet. Still busy POC’ng this in Guam.
“Can do export… but the more problematic to do is the code that can render that (or something else “Good enough”) :mrgreen:”
Yeah, I don’t see Renderman around the corner anytime soon….ROTFLMAO…BUT in the next post you will see that Falcon, as is, with DX will render correctly, just gotta figure out how I got there…:embarassed:…LOL, it will come back to me.
“Yes UTM is probably the best way to translate Falcon flat X/Y to “real” Heightmap positions, then all that is needed is to take the reference position (On earth grid) that the given Heightmap use, and apply the same export to other data (Like e.g buildings), but since I’m not managing the “export of data process” (Unfortunately) myself, I don’t really know to tell the projection used (for what I need)…”
Hmmm……Guess I’m misleading again per some others opinion of me years ago. So instead of me trying to help you LEARN the tools and how they work, which I think you already know after all these years, I will state this. I only use the UTM for the MAP file and TOD, the rest exist’s in the Object World of Falcon. I do NOT use Real World Mapping with the other tools. They are all Zeroed to the object world.So that being stated, all we need is the X\Y\Z of the shapes\models on the FEATURE model of the Terrain|Landmass we are working with…
“Yea that makes sense… So I just need to get my “UTM ***” needed projection in order to get data”
Yes, but when Projecting it use No Projection “RAW Data in feet or meters in CE” that way you can have CE import the .osm data anywhere on the grid. Then move that Data anywhere you’d like (puts us back to x\y\z where we need to be for Falcon)
Kind regards and Enjoy the next post!!!
demer -
Been a Falcon second but I think we may have this down, 16,106 buildings on Guam Island and NO FPS HIT!!!
:mrgreen:Now mind y’all I still get an FPS hit from this pit…DUNNO…why, that’s on the Devs.
But that’s OK we still smoothEnjoy the Pics and once I figure out how we got there I’ll pass it along…LOL
demerBTW New and better imagery of the Landmass is coming thanks to Vags
-
All these buildings do they have their relative shadows each?
Are they close the airport?
Can you post a screenshot in pit in taxi?Thank you in advance
-
All these buildings do they have their relative shadows each?
Yes
Are they close the airport?
Well you can see the airport in the second screenshot.
-
OK so CE is eventually exporting OSM data? I guess that’s understood now. So no other way to do what I want but to learn how to export OSM data
Been a Falcon second but I think we may have this down, 16,106 buildings on Guam Island and NO FPS HIT!!!
:mrgreen:16K is a huge number, but 16K separated building objects will FOR SURE cause a FPS hit, some FPS hit. It doesn’t matter even if you draw identical boxes and untextured. Assuming this is BMS you are showing, 16K buildings mean 16K draw calls, which will cost ~2ms on GPU alone, and so many draw calls, the CPU will also spend some cycles for preparing those. 2ms for 60 FPS means ~6-7 FPS drop at least.
Here are 16K “buildings” all in view (Identical untextured cubes actually), these cost ~2ms with 16K draw calls, but with single draw call, only ~0.17ms :mrgreen:
So if you have no FPS hit, there are 2 options:
1. A very small number of these buildings is in view and actually rendered (As the engine will cull models not in frustum)
2. The 16K buildings are 1 objects and drawn in a single draw call –> Make sense for no FPS hit.Cheers!
-
No. CE doesn’t export OSM data.
OSM has export functionality and CE has import functionality for OSM exported data. CE uses a simplistic interface to import the OSM data to CE.
You can export OSM by web manually or by using their API or other GIS tools.
Now CE by using it’s integrated python engine can report the building positions which actually got from OSM data.I’m 1000% Sure those 16000 buildings are one object.
And one of the reasons I say all those years that this compromise is needed.Στάλθηκε από το MI 5 μου χρησιμοποιώντας Tapatalk
-
From my experiences done in POH in Gibraltar area, (thanks to Arty’s teachings ) it is actually possible and relatively easy to create huge cities as a single objective and, in fact, provided we create very low poly buildings, the fps impact is close to zero, even on a hot campaign environment.
What I found hard is to match each building elevation with the terrain elevation, but I’m sure you guys have figured a simple way to do it already…
-
OK so CE is eventually exporting OSM data? I guess that’s understood now. So no other way to do what I want but to learn how to export OSM data
16K is a huge number, but 16K separated building objects will FOR SURE cause a FPS hit, some FPS hit. It doesn’t matter even if you draw identical boxes and untextured. Assuming this is BMS you are showing, 16K buildings mean 16K draw calls, which will cost ~2ms on GPU alone, and so many draw calls, the CPU will also spend some cycles for preparing those. 2ms for 60 FPS means ~6-7 FPS drop at least.
Here are 16K “buildings” all in view (Identical untextured cubes actually), these cost ~2ms with 16K draw calls, but with single draw call, only ~0.17ms :mrgreen:
So if you have no FPS hit, there are 2 options:
1. A very small number of these buildings is in view and actually rendered (As the engine will cull models not in frustum)
2. The 16K buildings are 1 objects and drawn in a single draw call –> Make sense for no FPS hit.Cheers!
No. CE doesn’t export OSM data.
OSM has export functionality and CE has import functionality for OSM exported data. CE uses a simplistic interface to import the OSM data to CE.
You can export OSM by web manually or by using their API or other GIS tools.
Now CE by using it’s integrated python engine can report the building positions which actually got from OSM data.I’m 1000% Sure those 16000 buildings are one object.
And one of the reasons I say all those years that this compromise is needed.Στάλθηκε από το MI 5 μου χρησιμοποιώντας Tapatalk
@Nuno:
From my experiences done in POH in Gibraltar area, (thanks to Arty’s teachings ) it is actually possible and relatively easy to create huge cities as a single objective and, in fact, provided we create very low poly buildings, the fps impact is close to zero, even on a hot campaign environment.
What I found hard is to match each building elevation with the terrain elevation, but I’m sure you guys have figured a simple way to do it already…
Hmm Gents lets start here:
@ I-Hawk yes “ONE DRAW CALL” as I have stated many times in this Fora and others. That is all she needs for these “STATIC” features. She only needs to load to MEM once. The problem is that unless you clean up the Parent to One LOD deagg’d at 60000 she will try and draw the lesser LOD’s that exist in the Data. Don’t need them unless the Feature is a target with VALUE on the Objective i.e. an Ammo dump or Supply, basically anything that produces DATA for resupply and attrition in Camp.
@Arty……LOL…You are 2000% CORRECT…LOL!!! ONE Object in Max That contains (100,00 polys) that becomes ONE feature in Falcon with ONE LOD on an Objective and the feature only needs to be drawn ONCE in DX
@Nuno If CE is giving you a problem matching Shapes to your Terrain Layer then try this option in CE…highlight your Terrain and click on Match Terrain to Objects…Lemme know if that solves the problem…
Have FUN,
demer -
Maybe Nuno means the falcon terrain.
For poh I’m sure u have the initial files e0 e2 iirc make them psd and then png. If u use the low res on big city the pic might be like 1cm in your sceen in CE.
So u must scale it up to fit. Also overlap the falcon roads and falcon terrain to easily spot where your city will be placed. U can alter the falcon terrain tiles to create refference points or a screenshot with the objects from terrain editor so to create the holes so that already placed buildings can be used or be used just as reference. U can remove the falcon buildings - targets and from CE in 3ds max isolate some buildings, export them individually, import them in falcon, place them to the exact position with FE and set them as targets with damaged and destroyed models.
What I was doing was note and use square selection when I import in CE the sat terrain image and topo and OSM values. If u do it repeatedly CE keeps the initial square selection so each time u get the exact same area.
Some times CE freezes in the process so u must start over.
When u import if u observe u can import and height data, using low (I said loooow) resolution u can mimic the falcon heights, not exactly but close. Now on the options after ok u will see and the option for terrain to snap - match to the imported height map.
U can always do it later as easy as Demer said.Now for the one object for some xxxxxx buildings since it gives such a good fps hit we can benefit from it.
Now if u have the crazy time u can export each building from 3ds individually and flood the database with what? Some millions entries?
Sure u can create some let’s say 50-100 buildings and import them in CE as obj. Then instruct the CE to use only those. That way u can reduce the zillion entries in DB for individual.
But those 50-100 buildings library must be triple (normal damaged destroyed) so 150 - 300.
Now since u will see all that exhausting beauty u will want to place and realistic buildings that are well known in some major cities, some stadiums, etc.
All those xxxxxx buildings must be placed individually in falcon editor in the objective… Lol yeah right.I-Hawk most probably is looking for something like that to do it code wise, maybe like get the OSM data for buildings position use the buildings library and spread them - place them to those points. I assume. That way u have automated city creation based on realistic data in no time. If that’s the case well it’s a good thought. Actually CE does the same thing kinda and it’s the most painful process. Pro teams that create exact buildings must place them by hand which takes years for large teams and large cities.
In the past I posted a link where the whole Berlin data and 3d is public. U can view the whole city in 3d in web with a 3d view plugin for web browsers. Well it took them years for just one city.
Now for the one draw call again. The roads in CE can also be exported as one object. Also the LOTs. LOT is the base of the buildings. Like the backyard the pavement etc. That way city terrain tiles are obsolete. Which is more fps hungry?
In CE u can procedurally create road bridges that we can’t think off the detail level and place them to the exact position . Just create the roads , select the area , lift it and assign the rules… There bam one bridge ready. U can do it and more custom , declare bridge start bridge end and curve it lift it what ever. Oh and have a road passing under, or make a lifted ring road conjunction.
Street signs that we see in Tom’s theater, lol just places them. Now if u want beer that way directions on those signs well lol.
Another issue is when u don’t have the OSM data. North Korea?
Somebody stop me, I can go on for ever… lol
Στάλθηκε από το MI 5 μου χρησιμοποιώντας Tapatalk
-
2. The 16K buildings are 1 objects and drawn in a single draw call –> Make sense for no FPS hit.
Cheers!
Won’t 16k buildings with one object at least has 16k * 6 poly (If Each building has been considered Hexahedral) = 96k poly?
I recall you called 100k JanHas single F-16 object crazy because of its poly counts and described us how Drawcall kills FPS (I’m not sure but more polycounts for single objects also increase draw call?). -
@Nuno:
From my experiences done in POH in Gibraltar area, (thanks to Arty’s teachings ) it is actually possible and relatively easy to create huge cities as a single objective and, in fact, provided we create very low poly buildings, the fps impact is close to zero, even on a hot campaign environment.
What I found hard is to match each building elevation with the terrain elevation, but I’m sure you guys have figured a simple way to do it already…
Hi Nuno Santos!
What about when a bomb is falling on one those objects? I mean, if ithe entire city is a single object, the damage and destroy status can not be applied to a single building. (?)
-
Hi Nuno Santos!
What about when a bomb is falling on one those objects? I mean, if ithe entire city is a single object, the damage and destroy status can not be applied to a single building. (?)
A coder must create code and display an effect on that building.
For the values when the whole model is one object one city and is bombed you can set the values and have a degradation of that value.
The particle system will display the smoke and you will not be able to view the not affected building. A special particle effect can be created and kinda hide the lack of damage or destroyed model.the other way is deagregate the model and split it to unique models when it’s impacted and display the damaged or destroyed.
The total solution is implementation of procedural rules in Falcon.
This exists with the trees in a very simplistic way and if u change the trees textures with buildings texture u already have a wonderful outcome but needs tweaking and code, not to forget declaration in Terrain Editor as now iirc there is only urban when you have thin forest and thick forest. you will need more options for urban industrial village, high rise, stores, etc.
for the tiles u can project the osm imagery and then create the areas… but for the areas circles will be difficult it will need a polygon creation on the tile to draw the areas or even better an import and split functionality. The buildings areas we can import as polygons even from CE as they are the LOT’s.Same thing can happen and for forests. There are zilion data for landmass like polygons that project forest areas. so instead going tile by tile (really how many tiles? 4.096? ) to declare the forest areas it would be suuuuuuper quick to just import…
Sakis Monster are you watching m8? can this be done?
same for the roads and paths… and sometime end the countless hours just for the basics.Guys the theater tools need a major update - upgrade, a bumb up, we you build in large scale and doing so pixel by pixel or 1km by 1km many times the same to declare different things well it’s an 80’s thing. We keep up with it but that doesn’t mean it should stay as is for ever… and we r talking about zillion spend manhours here.
The code since it can isolate the instances of points - thus buildings it can calculate if it will be damaged or destroyed and replace in that point the model with the damaged or destroyed. I’m assuming u must already be fiddling with something like that… as said the procedural trees can destroy an airplane if it touches a tree and you said u disabled it, so you could make it and the other way around.
Since we don’t have all those and mainly the time, and if u break down the city in unique buildings (not Falcon procedural) there is no vga card to handle the load, we at least say that just place them for eyecandy or even more realism and immersion as a step forward and not a complete fully realistic solution.
There are ton’s of documents and examples and with python those procedural things can happen, but will need major implementation.
OSM has the API and IIRC is free
https://wiki.openstreetmap.org/wiki/API
CE has the SDK
https://github.com/Esri/esri-cityengine-sdk
but needs CE installed to work. So it’s a no go.Now the rules that manipulate the build up are well documented and maybe help if we want something familiar in falcon. we actually need boxes u can skip the details.
CE for me actually ain’t the complete solution for all the reasons mentioned but since we don’t have other options solutions… we proceed as we see fit or like.
-
Small buildings of an entire city might be undestroyable one object, and landmark buildings or important infrastructure like factory to be each single destroyable object. That seems possible implementation for current BMS isn’t it?
-
Thanx guys for info!
But… I’m really not interested at 1 large object. I just need pure data, so I’ll dig into that deeper to find my format/export/whatever.
No worry about the rendering itself
Won’t 16k buildings with one object at least has 16k * 6 poly (If Each building has been considered Hexahedral) = 96k poly?
I recall you called 100k JanHas single F-16 object crazy because of its poly counts and described us how Drawcall kills FPS (I’m not sure but more polycounts for single objects also increase draw call?).Yes, a rectangular building has 6 polys, 12 tris, so 16K buildings will be exactly 192K tris. However, you need to understand that there is a HUGE difference between drawing many “dumb” tris, and drawing a full model that may use many different textures, smoothing groups, materials etc etc…
Actually, I can show you an example that drawing 1 million such untextured cubes will take only ~8ms (~115 FPS) with a single draw call (You can think of it as such large model, but actually it is called instancing, and anyway, the GPU work is same as 1 cube x 1M times). With 1M draw calls you get same rendering but draw time increase to ~130ms (~7 FPS), as with such a huge number of draw calls, the GPU is loaded only to ~50-60% as the CPU cannot feed it fast enough, hence the huge loss of performance.
My plan is to eventually get there, i.e draw many many buildings in 1 Draw call, but as separated objects. It is possible (You see many sims/games do it right?). I think that dividing a Falcon theater to sectors/areas/whatever will help drawing buildings in the same sector with 1 Draw call, or alternatively with a single simple test, deny rendering of entire sector if it’s out of rendered frustum.
-
Thanx guys for info!
But… I’m really not interested at 1 large object. I just need pure data, so I’ll dig into that deeper to find my format/export/whatever.
No worry about the rendering itself
Yes, a rectangular building has 6 polys, 12 tris, so 16K buildings will be exactly 192K tris. However, you need to understand that there is a HUGE difference between drawing many “dumb” tris, and drawing a full model that may use many different textures, smoothing groups, materials etc etc…
Actually, I can show you an example that drawing 1 million such untextured cubes will take only ~8ms (~115 FPS) with a single draw call (You can think of it as such large model, but actually it is called instancing, and anyway, the GPU work is same as 1 cube x 1M times). With 1M draw calls you get same rendering but draw time increase to ~130ms (~7 FPS), as with such a huge number of draw calls, the GPU is loaded only to ~50-60% as the CPU cannot feed it fast enough, hence the huge loss of performance.
My plan is to eventually get there, i.e draw many many buildings in 1 Draw call, but as separated objects. It is possible (You see many sims/games do it right?). I think that dividing a Falcon theater to sectors/areas/whatever will help drawing buildings in the same sector with 1 Draw call, or alternatively with a single simple test, deny rendering of entire sector if it’s out of rendered frustum.
so split the ~130ms to 4 cores or worst 3 cores (leave one for the other threads) you end up to 43,3 so it would be around 20fps? and if u are on 8cores and give it 6 cores u could reach 40 but maybe the GPU will top up.?