3 ms·
PVS requires some hierarchical scene representation with no seams between walls. I know no other way to build such representation other than BSP. But BSP works
by Panzerschrek 6mo ago
PVS requires some hierarchical scene representation with no seams between walls. I know no other way to build such representation other than BSP. But BSP works fine only with pretty low-detail map geometry consisting of brushes. No large detail meshes or terrains can be used with it. If a game has a lot of open spaces or semi-open spaces it's nearly to impossible to build a BSP for it.
- socalgal2 6mo agoPVS does not require a hierarchical representation. You can use any representation you want. In fact the one in the article itself is not hiearchical.
- Panzerschrek 6mo agoIn practice many useful representation can be built only in a hierarchical way. Unless you want to force artist/map makers to split their maps in regions manually.
- socalgal2 6mo agoYou can do it all kinds of ways. Artists don't do it, tools do. Example: Racing game, since cars can't go off the track, you divide the track into segments (a few meters long) and compute the PVS for each segment. Plenty of others.
- formerly_proven 6mo agoAll Source / Source 2 games still use both PVS (bsp/octree) and pre-baked lightmaps. Of course, they’re quite notorious for the staticness of their environments.
- torginus 6mo agoThere's nothing necessarily static about BSPs - in fact level editors use BSP brushes (other piecces of geometry stored as BSP) - exactly because calculating set operations between BSPs is fast and well defined, and results in another BSP. In fact, Red Faction, one of the first games to feature destruction on the PS2, used BSPs under the hood instead of voxels/marching cubes. What was expensive, and made these game levels static is, was the occlusion calculation and light maps, which were relatively expensive at the time, and the fact that the first instances of those engines, like Quake were designed for the Pentium.