Vis zoning:

        BSP       

   hullmakers   

      portals     

       demo      



     brushes     

      nosnap     

 'office'
 [email protected]

   What I'm gonna talk about the map is the layout of it's rooms. First,
 a quick look on BSP. Binary Space Partitioning uses planes to divide the
 space in isolated regions. One plane will divide the space in two, two
 planes will provide 3 or 4 regions (if the planes are parallel you'll get
 only 3 regions) and so on:

One plane, two regions Two planes, 3 regions
Two planes, 4 regions
Now this momb-jumbo is crucial to ALL BSP-based engines, because this is the main way to determine visibility zones. In other words this is how the engine knows what to render: you're in region A? Fine! We'll calculate physics and render and calculate polies only for the objects from region A and discard (for now) the other objects in other zones. Lithtech, Quake 3, Unreal Engine, they're all BSP-based engines, so this things apply to them too. In AvP2 (Lithtech), the visibility information is kept in BSP trees. Now, there are two types of BSP trees: - first, generated by all detail 0 brushes is the visibility BSP. This will tell the engine what to render. - second, which keeps all the brushes is the Physics BSP. This one does not tell the engine what to render. So, the detail 0 brushes
determine visibility zones. How does this influences the framerate? Well, if you make a couple of rooms, 1000 polies each and the visibility zones defined by their detail 0 brushes are not separated, the engine will consider that it has only one visibility zone. It will render (or most likely choke to death trying to render) 2000+ polies ... Solutions? A good placement, like using S-shaped halways
or U-shaped hallways
usually do the trick. Wanna know why? I know you don't but I'm still gonna tell you: from each room, the engine decides to render everything in the vis zones directly visible from that room. And those zones are the room itself and the hallway. Still, a (very) complex hallway doesn't have more than 100 polies. So, from any room, the engine has to render only 1100 polies ... much better than the former 2100 polies. Still, there is a problem. The hallway itself sees both rooms. Thankfully, for this you can use portals. But that's another story. So, a straight hallyay is no good. Say "YES" to S-shaped and U-shaped hallways. Besides, who wants a level that looks like a bowling alley?
index