KatsBits Community

MAX_VISIBILITY_EXCEEDED

kat · 1 · 16064

0 Members and 1 Guest are viewing this topic.

Offline kat

  • Administrator
  • Hero Member
  • *
    • Posts: 2692
    • KatsBits
Problem
I've looked through the errors on the qeradiant page, but has anyone ever gotten this error while doing the -vis?;

Code: [Select]
MAX_VISIBILITY_EXCEEDED
I'm working on a, well... huge map and I'm noticing this problem more and more. Right now I'm only able to do the minimal BSP and test out the map, but I'd like to do lighting and everything else when I'm ready to present the finished project. Does anybody have any advice besides downsizing the map? [quakefraggin]

Solution
Yup... you've basically made your map to big (as in structurally complex)! You've used up your allotted VIS data (it's around 2mb I think [2,040,000 as you see it reported in GTK bsp monitoring]. Someone will correct me on this though. [Kat]

additional note (1): Or use Detail better so that the BSP is less complicated, and so requires less vis data. [djbob]

additional note (2): Actually, it has nothing to do with the size of your map, but rather the structural complexity. Rather than cut down your map, you may want to consider rebuilding it taking vis into account.

Every structural brush face in a map has an associated plane. The higher the number of unique structural planes, the larger your vis data will be.

To clear up a common misconception, larger vis data does not mean vis is working harder or more effectively.

A gross oversimplification: The vis data is simply a collection of lists that answer "is this area visible from here?" Every location in a sealed, fully vis'ed map has such a list. The more unique "locations" in a map, the more memory the vis data will consume.

Those locations are BSP leaves. As the goal of the Quake 3 BSP compiler is to create a BSP with convex leaves (i.e., no inter-projecting volumes), then the hairier the makeup of your structural brushes, the more leaves in the final BSP.

Certain individuals (myself included, on the rare occasion I'm mapping) subscribe to the notion of building for vis. That's simplifying it a bit, as there are other things to take into account, but the basic method is this:
  • Build the structural hull of the map entirely with caulk. Caulk is solid, opaque to vis, invisible to the eye, and unless changed in Radiant, structural.
  • Build what the player sees out of caulk detail brushes and patches, then texture the visible faces.
  • Share planes wherever possible. Terrain, or any other "meshy" mass of brushes, for instance, should share a single plane on the backside. Cutting down on the number of unique planes is a Good Thing.
If you're feeling up to it, read SPoG's Quake 3 BSP doc for a more in-depth explanation. [ydnar]