There's a ton of advantages to using model-only levels and very few disadvantages.
Pros:
1. Near-instant build times. With BSP levels times times, especially a final build, can take days for large levels. Model-only levels, even with ten times the detail, take a fraction of a second to build, even with the highest quality build settings.
2. Rendering exceeds 50 times faster than that of BSP levels. I've proven, from experiments, that you can have 300,000 visible polygons (even without LOD) and still get over 60 fps. 300,000 polygons makes a good-sized level with high-level detail and is otherwise hard to comprehend. Tossing in LOD, the amount of detail you can have in your level is just phenomenal, simulating even a million visible polygons. Levels made from blocks can barely manage 5,000 polygons per second. For maximum efficiency, have your models between 3000 and 6000 polygons (assuming the usual 2:1 polygon:vertex ratio), especially focusing around 4000 to 5000.
3. Freedom of size. BSP levels must use integerical positions and can cause noticable inaccuracies, especially with blocks smaller than 2x2x2. Model-only levels don't have this limitation and thus high-precision fractionals can be used. Anything with more precision in positioning than 1/16 of a quant is otherwise meaning less as such detail can only be detected with clip_near set very low (like 1), very high resolution (1600x1200), and a narrow field of view (30°).
4. Freedom of shape. Blocks must always be convex. Concave blocks are not allowed. With models, use whatever shape you want, no matter how twisted or screwy it gets.
Cons:
1. Lighting is a big downside. Normal level lights do not affect models at all, only dynamic lights. The problem with dynamic lights is that there is a very limited number of them, usually 8, so getting decent lighting can be quite tricky to do.
2. Collision is a bit trickier. This, however, is a one-time thing only. Once you figure it out (enable polygon-precise collision), you're good to go.
I'm sure there's more, but these are the major ones. I'm trying to develop a "points" system to help gauge rendering capabilities. If each face, without shaders, collision, etc., but only a texture with mipmaps, is worth 1 point, how many points is each entity, vertex, collision polygon, etc.. The more points, the slower the rendering gets. As far as I know, each vertex is worth 2 points and each entity is about 300 points. For 60 fps in most modern hardware (since 2004 anyway), you can get to about 800,000 points. Maximum efficiency seems to be from about 9000 to 10,500 points.
Edit: check out my benchmark tester on the download page (link at the top). With it, you can find where your peak performance is.
Last edited by ulillillia; 08/19/06 12:30.