ProjectX on 6/8/2005 at 19:13
Look, here's what I mean:
You have a long corridor with the slightest of twists in it, normally you'd put the portals on either end of the corridor, because from one end you can still see the bottom end. This corridor has a portal in the middle too.
Ziemanskye on 6/8/2005 at 19:20
Which could be there for when you are not in the corridor, to speed up the rendering because only the things in the closer half are even being tested to find out if it should draw them.
If you only portal the ends, then every object in the corridor needs to be tested, and the lights which you can see neither the effect or the actor for are being rendered (though the light might not be illuminating anything, depeneding on what else gets portalled in or out. Yes it's less efficient when you are actually in the corridor (because you test then render everthing in the corridor behind the mid-portal), but when you're not it's a good thing.
The fact the corridor has a portal that isn't at one end or the other isn't that unusual.
EDIT: Well, not that unusual here. In normal UnrealEngine2 stuff it doesn't matter so much, it just that the lighting and particle effects here are really expensive, so anything cheaper to cut them out is probably a good thing.
<shrugs>
Beyond that though, I'm done here. Portal how you need to in order to make things go how you want them to.
Good luck with the actual Auto-Map, and sorry to have commandeered the thread so much.
ProjectX on 6/8/2005 at 23:51
Quote Posted by Ziemanskye
Which could be there for when you are
not in the corridor, to speed up the rendering because only the things in the closer half are even being tested to find out if it should draw them.
If you only portal the ends, then every object in the corridor needs to be tested, and the lights which you can see neither the effect or the actor for are being rendered (though the light might not be illuminating anything, depeneding on what else gets portalled in or out. Yes it's less efficient when you are actually in the corridor (because you test then render everthing in the corridor behind the mid-portal), but when you're not it's a good thing.
No, because the only actor tested for in sight is the zone portal itself, otherwise there'd be no point in putting them in there, it'd just run normally and oclude any mesh it couldn't see it'd just be slower.
Ziemanskye on 7/8/2005 at 12:20
Only ZonePortals occlude, BSP doesn't, smeshes dont', actors don't. Wander around an unportalled level in Wireframe mode and it shows simply enough.
When a portal is visible, it acts like a cut-out stencil, so anything in the other zone that is visible through the portal is drawn, but anything not visible through it isn't.
Admittedly though, my arguments do require one thing though - other stuff at all in the corridor. It's not worth portalling a corridor haflway if the maximum amount of stuff it can occlude in it's zone is two walls, a ceiling and a floor (no lights, no smeshes, no Pawns, no Physics objects, no particles...).
ProjectX on 7/8/2005 at 14:03
all right I won't turn it into a petty argument, so I will provide proof that backs up my argument and approx. 6 years of Unreal Editing knowledge.
(Taken from the Unreal Developer Network (creted by pic Games themselves - makers of the engine) the text can be found here: (
http://udn.epicgames.com/Two/LevelOptimizationBSP#Zones_and_Portals))
"If a player can see through a Portal into another zone, then the renderer will render that zone"
and...
"When the portal is not within the frustum of the player’s view, the other room and all of its contents will not be rendered"
Basically, the only thing that is tested for visibility is the portal. If the portal can be seen, then the zone that is joins onto it is rendered.
ProjectX on 7/8/2005 at 17:29
hmmm... Looks like Ion Storm added a bit of antiportal code to the portals.
Shouldn't the universe explode or something when that happens?
Ziemanskye on 7/8/2005 at 17:38
I'm sorry if this was turning into a bitch-fest.
I think it's an UnrealEngine2 thing though, since UT2k3/4 does the same , and I think I read somewhere that UnrealEngine (1) occluded by BSP brushes - this is the new way of doing it.
Maybe it works out more efficient to assume nothing in the zone is visible before testing it. Not a programmer, so haven't a clue. The UDN site is kind of misleading on this issue though, it took me a few weeks and some experiments to work out what was going on (my pre-thief3 levels were for AUT, and I was a bit over-zealous with smeshes once I found they were occluded like this), since before that I was on HL mapping, where you don't have to manually zone anything.
As for the universe exploding, I haven't noticed it doing so, but perception is kind of relative. :p