Game Development Community

Portal Guidance

by Masser · in Artist Corner · 09/02/2007 (8:43 am) · 8 replies

Can anyone suggest a good resource (info site, tutorials) that will help someone new to using portals?

I've used them in previous games, but somehow I feel like I never really grasped the full power. I need to go back to fundamentals and learn how they're supposed to be used. I'm working on a project that can use any amount of optimization I can throw at it.

I'm looking for information that describes HOW they should be used, the startegy behind using them and possible pitfalls to look out for (leakage and such). An end-to-end tutorial would be a great resource and it doesn't matter what tool/engine it was written for -- Torque, Quake, Unreal, etc. as they all support a similar concept.

Any help is GREATLY appreciated as I am at a stalmate, in terms of FPS, with my project.

#2
09/04/2007 (11:50 am)
Thank you. I found that the day after creating this thread. Do you know of any resources that provide a more in-depth view of the ins and outs of portal creation (doesn't have to be specific to Torque/Constructor -- I just need fundamentals)? The info on that page doesn't give you much to go on.
#3
09/11/2007 (11:46 am)
For my specific purposes, LOD's on my DIF's ended up being a much better solution to my performance issues. I suppose I can continue to be ignorant of portals for a little while longer. :)
#4
09/11/2007 (4:02 pm)
I have found the BEST use and need for DIF portal is when the INSIDE of the portal area is going to contain a large amount of detail. If your overall poly load is light, there is no need for portals, and LOD would exhibit the best performance boost.
#5
09/12/2007 (12:55 pm)
Thanks, Caylo. I fear that my ultimate solution will require quite a bit of both, but the LOD gave me the quickest bang for the buck so far and kept me working without a complete loss of FPS.

See, the problem is that I'm taking on the near impossible, with an urban city scene. The buildings, although poly-manageable by most standards (1500 polys or so, not counting auto-generated collisions, I believe), are fully internally functional and really add up. Plus, with so many in proximity to each other, polys drawn at one time are crazy. I used LOD to hide much of the internal complexity (as you can basically only see a cereal box-style model from the street anyway) and it put me back in business (lighting is another story). However, I fear the internals, once fully loaded with objects, will eventually require portals between rooms to shield high polycounts. So far so good.

Hey, I have another question for you (at the risk of dragging out this thread): Have you ever experienced an object or poly limit in Torque? I've read conflicting opinions about whether a software limit exists, but my testing has proven that a practical limit certainly does. I used that LOD approach I described (where a 1500 poly building has a 24 poly LOD equivalent) and started duplicating like crazy for a larger scale simulation. I crapped out between 192 and 224 buildings (just buildings -- no internal or external details and objects yet).

Now, I know this is not necessarily my goal for one mission file anyway, but it got me thinking... Where IS the limit?
#6
09/12/2007 (1:44 pm)
Hmm.. limit? Good question, i expect its subjective related to hardware.

I think a Profiler dump should show you where that limit is at, and what is all involved in influencing that limit.
#7
09/12/2007 (5:54 pm)
One thing you don't mention in your example is how many polys are actually rendered--it's hard to guesstimate how many of your DIFs kicked in to LoD levels, so assuming for example that you had 210 buildings, 1500 polys each, and 1/3 were full detail, 1/3 were half detail, and 1/3 were 24 poly detail, that leaves:


70 * 1500 = 105,000
70 * 750 = 52,500
70 * 24 = 1,680


For a 159,180 poly scene--not counting terrain or other shapes. That's not hugely extravagant, but then again polys are only part of the picture--we have no idea how much texture swapping is going on as well (which slows things down a lot), and stock TGE doesn't do batching, so you are in no way optimizing state changes either in this example.
#8
09/15/2007 (5:41 pm)
Stephen: True, I didn't verify the number of rendered polys yet, but I really have no way of knowing in the scene I'm describing. I'm not describing a situation where I was in the game and my FPS went too low (a normal result of an extravegant scene). My question revolved around whether or not there are software-imposed limits of any kind (number of polys or objects), so to explain why my scene doesn't load at all (it gets just past lighting the scene and crashes to desktop). I believe Unreal engine has a limit of some 65,000 polys per scene, which is what I was anticipating here.

If you're telling me that there are no known software limitations and what I'm experiencing is just a simple case of my system not being able to handle the number of rendered polys, then I have what I need to know.

Thanks.