RE: [Algorithms] Re: Portal VS BSP
Brought to you by:
vexxed72
|
From: Neil S. <ne...@r0...> - 2003-12-14 21:37:51
|
> True, true, it really does depend on your targets. PS2 is the > border area - we used dynamic visibility on Xbox without any > problems. The fact that it isn't generally suitable for PS2 suggest that it has a reasonable CPU overhead, which may also make it unsuitable for certain types of game on other platforms, so the gain from using dynamic visibility has to be worth it in some way, and not just some academic exercise. > This is questionable. The fact that lot of artists are used > to having long turnaround times blurs the vision of > programers, leading them to believe that it is acceptable. > Would you like to have your sources to compile in 0 seconds? > I know I would. Why else do people think that "edit-and-continue" > in VisualC is the best thing since sliced bread? :) > Ultimately, artists should have 0 turnover time as well. In > all our projects, we've been working with tools that allow > you to edit levels using the same renderer as used in game. > In our current engine, game-test startup is several seconds > (though I know a few places that could use some heavy optimization). It's not questionable at all. We have a triangle stripper that is capable of generating pretty good strips (comparable to any other stripper we are aware of) if we give it a few seconds to do so, but can shave another 10% off the vertex count if we give it longer. That 10% can be a godsend if your scene is heavily vertex limited, so we use that capbility to improve our content. Of course, we can run it in fast mode so the artists can check their work quickly, but we do need to do an optimised build if we want to check final performance. What's wrong with this? Don't you optimise your strips, generate LODs, etc? > Besides, I hope that you are not underestimating the > abilities of dynamic algorithms. Yes, they are not free, but > they are very fast. Did you have any particular algorithm(s) > in mind when you said that a quickly patched > just-for-quick-test PVS table would outperform them? I > believe that it would have much problems with its > over-conservativeness then, wouldn't it? It depends what you mean by outperform. If you mean that a quickly generated PVS/portal scheme might draw more hidden stuff than some dynamic scheme, then this may be true, but this won't matter a jot if the dynamic scheme took over 50% of a frame to work out what to draw (which is why it is generally unusable on PS2 - so far). > for PVS methods . Once you go outdoors or want to get > advantage of aggregated occlusion (like in powerplants, > industrial complexes, forests, etc), PVS is mostly useless, isn't it? I think this is a pretty black and white way of looking at things. Any static visibility scheme can be embelished with certain dynamic capabilities. For example, opened/closed doors are very easy to simulate with both PVS and portal schemes. The same is true for occluder fusion, and it is almost certainly the case that you can reduce the runtime overhead of occluder fusion via preprocessing to determine potential fusions ahead of time (in a predominantly static world). > I don't want to say that PVS is a thing of past. Perhaps > someone devises a method to make a PVS builder so fast that > its precomputation is negligible. > When that happens, I'll seriously consider using it. :) Well, building portals from a BSP tree *is* very fast (and therefore so is a PVS), and it doesn't take very long to build the BSP in the first place, so... > Of course. What I ment, as I said in the other mail, they are > a special case, whereas in dynamic visibility, they usually > Just Work. That's not really a good enough argument for me, elegant as it may be. ;) > Hm... I don't have the source code of "vis" tool for Quake1 > to check it out, but IIRC from some texts I read a long time > ago, it is just what it does. It makes a BSP, then portals > and then uses those portals to make the PVS. Maybe I confused > that with the old Seth Teller's PVS paper. Feel free to > correct me if I'm wrong. I'm not sure. I do know that plenty of people use sampling to generate the PVS, which does take ages and gives static visibility a bad name. :) - Neil. |