Can Torque3D be used as a 3D engine for a flight simulator?

There are no stupid questions, just stupid answers.
  • 1
  • 2
12 posts Page 2 of 2
Posts: 1
Joined: Mon Sep 04, 2017 12:07 am
by bengarney » Mon Sep 04, 2017 2:57 am
Thanks for the kind words Chris!

Atlas had an (IMHO) very good runtime - I believe on that side it was stable (and even did some neat for the time stuff like polysoup collision).

But as noted by Chris the workflow was weak to nonexistent. I did some initial work on roundtripping chunk geometry into 3d editors, which unfortunately never got to a production ready state.

I based it largely off of and would suggest that for your scenario this might be a great direction to go. In the olden days we had to really be aggressive about polycount so decimation was very important. Nowadays it's not nearly as important and may be entirely optional if you have a reasonably beefy GPU. However you would want to merge meshes if you have a long view distance to avoid blowing out your draw call budget.

I explored some techniques from ... 0Part%201/ for LOD but upon checking the code I don't think I ever got them into production.

Anyway, if you have already textured chunks, I would suggest simply streaming them into Torque and keeping an LRU cache. If you have LOD then that's even better, you can swap to it on the fly. If not you probably need to merge up by directly combining meshes. The 65k vertex limit will probably be annoying in this context. Or maybe your view distance is short enough you don't have to worry about that.

Let me know if I can address anything else to help.
Steering Committee
Steering Committee
Posts: 840
Joined: Tue Feb 03, 2015 9:49 pm
by JeffR » Mon Sep 11, 2017 3:56 pm
Hey Ben!

Some good suggestions there. One new technique that I was made aware of recently that sounds interesting too is geometry clipmaps.

I'd also agree with "However you would want to merge meshes if you have a long view distance to avoid blowing out your draw call budget."

It's something that isn't really trumpeted much, but it's still a very, very common LOD technique to take zones/chunks/etc and bake the large object's low LOD into a single mesh, and only render the individual objects when you get closer.

This would be especially prudent in a flight simulator, as you'd likely only get close enough for the stuff you're pretty much right on top of. ... dy-part-2/

This render breakdown for GTA5 touches on that idea a bit(they also bake the terrain as a region chunk so it's a singular draw call for the far away stuff, which keeps it super fast).

The main trick is that doing a workflow like that isn't "automagic". You have to do work to get the low LODs of the meshes you deign important, the chunk of the terrain, merge them together and then make them share a texture so you can cram all that into a singular draw call.

We've done some mulling on if it were possible to automate that to a degree. If you wanted to take a look, the devhead version of T3D has a utility function that takes a selection of sceneobjects and bakes their geometry down into a singular mesh. Getting the LODs and collisions baked is still in-progress.

Our idea was to piggyback off that code. Only for this, you would use the lowest LOD for each given mesh, and during the preprocess step, could do a UV packing step which would let you automatically atlas the mesh's textures into a singular set of texture maps.
If you managed that, then it means that your combined mesh would be low detail geometry, and share the same material so as long as you don't go past the 65k vert limit, you could do an entire region's objects/geometry in a single draw call.

Which obviously would do some pretty nice things for performance.

I'll keep it in my mind as we try and get the LOD/Collisions for the current mesh bake function to work about a way to bake a 'far LOD mesh' for a zone. I've got a few ideas for it, but until I get a chance to actually TRY any of it, it's pretty hypothetical on any kind of automated process.
  • 1
  • 2
12 posts Page 2 of 2

Who is online

Users browsing this forum: No registered users and 2 guests