Game Development Community

Atlas in TGE?

by Kevin Bluck · in Torque Game Engine · 07/26/2005 (1:27 pm) · 10 replies

I'm surprised nobody seems to have asked this already:

Is there any hope of an "official" backport of Atlas to TGE?

If not, is Atlas too hopelessly intertwined with the shader architecture to consider it a realistic possibility for a "community" effort? What are the main points of incompatibility that would have to be addressed?

Thanks.

#1
07/26/2005 (1:35 pm)
There are no plans for an official port of Atlas to TGE. For one, while it doesn't specifically affect the rendering pipeline (isn't tied to shaders), it is tied to using the GPU directly, and any backport would require a pretty intensive increase in the base hardware requirements for your product, bringing them nearly in line with TSE as a whole. Therefore, it makes little sense from a business perspective to backport to TGE when the primary reason to continue to use TGE is for hardware specification targets.
#2
07/26/2005 (2:19 pm)
If you want to backport Atlas, go for it. But, everyone who uses the backported Atlas code must be a TSE licensee as well as a TGE licensee.

We have no problem with people making changes to tech to hit your specific hardware/tech targets. But we also want to be able to make a living, and having Atlas go from a major selling point for TSE, that we invested a lot of time and effort in and are now making our money back from, to a free resource that ends up cancelling out reasons for people to upgrade to TSE, would be bad for everyone - bad for us, because it would make it a lot harder for us to justify releasing major tech upgrades under the current EULA, and bad for y'all, cuz it would make it almost impossible for us to justify spending more time doing feature upgrades (you do want those nice WYSIWYG editors, right? ;).

And like Stephen says, it's not going to look as good or run as well on TGE-spec machines as it would on TSE-spec machines. Atlas is very nice technology, but there are a lot of hard realities you have to contend with when rendering large-scale terrains, even if you have a solid paging architecture.
#3
07/26/2005 (2:23 pm)
Kevin,

Why not change to TSE, instead? Just skip the shaders and you got TGE with Atlas :)
#4
07/26/2005 (2:36 pm)
That would probably be a lot less pain all told. :)
#5
07/26/2005 (3:56 pm)
Just trying to establish a strategic direction before I get too invested in one or the other. This has all been very informative in that regard.

Stefan brings up an interesting point. What, roughly speaking, would it take to "skip the shaders"? I am mainly interested in TSE for the Atlas terrain; shaders are not a major selling point for me. If there is a reasonably feasible path to extending the rendering fallback all the way to non-shader hardware, I'd like to investigate that avenue. It would be preferable, in my case, to limit low-end users to relatively small terrains rather than shut them out altogether.

On the other hand, requiring shader hardware isn't a deal-breaker for me. There's certainly a limit to the trouble I would be willing to undergo. Hence my interest in gauging just how much trouble it would likely be.
#6
07/26/2005 (8:38 pm)
It would take... well.. removing the pixel shaders, and making all the vertex shader functionality happens on CPU (which it should do transparently anyway). Have you even read the code or done any shader/graphics programming before? If you haven't then it's likely going to be a painful project for you. If you have, I would encourage you to do your own research, since that sort of question is highly dependent on your own perspective, target cards, and level of ability.
#7
07/27/2005 (8:52 am)
Quote:Have you even read the code or done any shader/graphics programming before?

I have, and yes. I assure you that I am not a noob to the field. I *am* a noob to Torque, and have enough experience to know that people who already have good familiarity with an architecture can answer in about 5 seconds what it would take me 5 days to figure out. I'm not averse to doing research, but I'm not certain that this question is worth pursuing very far. And so I would like to get some idea of the scope of effort likely to be involved.

Stefan seemed to indicate by his "just skip the shaders" comment that doing so would be fairly easy. I personally hadn't seen how it would be particularly easy. Ben seems to reinforce my existing impression that it would not be easy. So, I just want to verify that there is no straightforward, obvious way of going about it that will not require hundreds of man-hours of engine modification. If in fact it will require major brain surgery, it will not be worth it for me and I'll just specify shader hardware as a minimum requirement for my product.

I do greatly appreciate all feedback.
#8
07/29/2005 (6:55 am)
Disclaimer: I'm not a TSE developer, and don't have an in-depth understanding of the low level aspects of how shaders are integrated into the various systems of TSE....

However, I do know that shaders are a fundamental part of TSE, and touch a wide variety of areas. One approach to using TSE on older, non-shader supporting hardware would be to implement fixed function fallbacks for when a shader-capable card isn't detected, but this is a -very- big undertaking....I just think (and this is a gut feeling) that if you really need TSE with no shaders, short-circuiting the shaders via fallback would be easier than taking the concepts out entirely (and of course give you much better flexibility for those cards that do have shaders).

Of course, if your target hardware platforms can be upgraded to include shader capable cards that are appropriate for TSE, then this is absolutely the best direction to go. Honestly, you can't support old platforms/hardware/OS's forever, and early in the design phase for your project is surely the best time to make that decision.
#9
07/29/2005 (7:05 am)
Quote:
Stefan seemed to indicate by his "just skip the shaders" comment that doing so would be fairly easy.

Sorry, this is not what I was trying to say. I have no knowledge of how much work it would be to remove shaders from TSE, I was merely suggesting that you could remove some of the heavier shaders altogether, from objects/water/terrain. You'll get away with better performance, but it still won't be TGE.

Sorry for the confusion.
#10
07/29/2005 (8:24 am)
Thanks to all for the feedback. The question is now settled in my mind.