![]() |
Yes, that's
13155 tris. Ouch. And this is |
One of the nice things about curved surfaces is the level-of-detail (LOD) rendering used by Quake 3. At far distances, curves are rendered using fewer polygons (lower level-of-detail) so that the total number of polygons drawn is minimized. However, the game will never use a different LOD on different parts of the same curved surface (if it did you would almost certainly see visual errors). In addition, adjoining curved surfaces will always use the LOD of the surface closest to the viewpoint, again so that there will be no discontinuities at the curve boundaries. So if the patches making up your terrain surface all butt up against each other, you give up the LOD optimizations and you pay a heavy price in the polygon count. However, if
you use multiple patches for a terrain surface and
separate those patches with a normal structural brush or
brushes, then the game will use a coarser LOD for the
distant patches, as in the following screenshot. |
![]() |
Better - 6130
tris. This is identical to the |
Well that's still too high, you say. I tend to agree, which is why (at present) I don't suggest using curves for large terrain surfaces. Sure the end user can turn down his graphic details settings and the r_speeds will plummet, but it would be the height of cheesy map-making to suggest users of your map do that. What's really needed in my opinion is a new shader effect that specifies using a coarse LOD on specific surfaces, rather than using the game-wide setting. With that capability you could produce not-quite-but-pretty-darn-close to perfectly smooth, low-poly terrain surfaces and keep those cylindrical columns and arches in your map nice and round. Perhaps some day... Back on subject... in my opinion curved surfaces are best used on small areas for terrain - say a courtyard area. For large open terrain I'd suggest using normal brushes, with which you can get much lower polygon counts. The surface will never be as smooth as you can achieve using curves (unless you go nuts with the grid size), but check out these screenshots and decide for yourself which is better. |
![]() |
![]() |
32x32 grid, no decimation. 2161 tris. |
64x64 grid, decimated 90%. 1413 tris. |
| Note that if we had
Tim Wright's ArghRad Phong shading available, both of
these surfaces would appear much smoother.... maybe you
should let Tim know he needs to get with it. Another warning concerning curved surfaces: Patches larger than about 512 units will not be lit properly. Whether this is a transient bug in the lighting phase of q3map or a permanent fundamental limitation I don't know. Currently GenSurf will produce multiple small patches in an attempt to get the maximum patch size below 512 units. However, depending on the settings you use this might not be possible (for example if you specify 4 grid cells with the extents in that direction greater than 1024 units). Using multiple patches with the initial point release of Quake III Arena could result in two more problems. You may note ridgelines in your "curved" surface at the boundaries between patches and/or gaps between patches, even though the adjacent patches used the exact same control points along the border: |
![]() |
Note the gap between patches |
| Fortunately this problem has been solved in version 1.16j and later versions of Quake III... Hats off to id for solving this problem. If you experience problems similar to the screenshot shown above, ensure that you are running the most current version of Quake III. |
BACK to GenSurf main page