If you’re planning on a totally open map with fog to block visibility across the entirity of the map, you’ll need to do the same thing we did in Railgun, and have the compiler split the map up into blocks for vis.
Fog in ET doesn’t block visibility by default. Although it can cull polygons, this is probably too CPU intensive for your needs. To properly block visibility, you need to divide the map up into blocks and cull each based on its distance from the player (aka farplane culling).
To do this you’ll need to place the following keys/values in your worldspawn entities:
[i]_fog <your fog shader>
_blocksize <integer value, defines the size of the vis blocks>
farplanedist <distance at which the farplane exists>
fogclip <distance at which a fully opaque fog bank is drawn, which takes values from your fog shader>[/i]
_blocksize should probably be a power of two (we used 512 in Railgun, you might find 1024 is enough). Bear in mind that the smaller you make this number, the more blocks your map gets split into.
More blocks leads to exponentially higher vis data sizes, which is a Bad Thing because your map will use too much memory and take ages to load. Not enough blocks means you end up drawing more than you need to and your FPS will suffer.
farplanedist and fogclip should be the same value, and should match the last value in the fogparms for your fog shader.
With this all set up, when you compile your level with the ET tools it should only draw the area you’re currently in, plus any areas in your view frustum that fall within the farplane distance.
Any areas beyond that will be culled, and any polys that fall within the spaces between the vis block and the farplane should be culled by the world fog.
On the subject of fog, you can add a global fog shader to ET maps and get similar world fog to RTCWs (except that it’s now compiled into the map and can’t be turned on or off with a cvar), so you don’t need to add fog brushes unless you’re trying to do something specific with them, such as low lying fog in a valley.
Hope that helps (and I’m sure one of the code monkeys will correct me if I’ve got any of this arse-backwards :)).
Wils