Archived

This topic is now archived and is closed to further replies.

vmd1

The best VSD algorithim

Recommended Posts

I''ve been thinking about VSD algos for a while, and I''m starting to get the feeling that stuff like Octree, BSP/PVS, [insert you crazy method here] and others are the wrong way to attack the problem. I contend that the best method for ANY kind of game, would be to 1. Cull all objects not in the view fustrum 2. Cull any backface sufaces in the view fustrum. 3. Draw the rest of the surfaces in the view fustrum to a Z-buffer. Now this alone won''t cut it. The key is to include 4. have multiple levels of detail for all walls, and objects. The only problem is making a slick program to convert high poly count models and walls to a lower poly count automagically.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Dude, look at the algorithms you just mentioned. They are all just different ways to do what you said.

-- John

Share this post


Link to post
Share on other sites
And how will you do view frustum culling without oct/quadtree? And these methods are not crazy! some of them are REALLY efficient and really improve performance... Take BSP/PVS for example, are very good for in door environments. For outdoor, you can use Geomipmap LODs.

LOD is application specific,.. a general LOD algorithm is not the best thing to use for terrain and a terrain LOD wont work on walls. so basically its a complicated science, and to know what you are rendering greatly gives you power ot improve performance.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
>multiple levels of detail
can be generated with an octree
at least its the only method I can do,
least square ... stuff is too hard for me)

Share this post


Link to post
Share on other sites
back faces generally can be efficently culled by the hardware for little cost except for the sending of the data. you need to ensure that you seperate static geometry (ie level) culling and dynamic geometry culling.

there is no one method that is generally the best. its high dependent on your data. certain methods are suited for outdoor terrain while others are suited for indoor levels.

the problem is the actual culling of objects not in view efficently. its faster to go through only a small subset of data then do have to traverse the entire data set. this is how bsp/octree/etc help ensure efficency. they allow you to remove large chunks of data early in the culling process quickly. this ensures less data to deal with as you begin to make finer culling choices (ie maybe per wall instead of entire rooms or floors which were culled earlier). its much faster to remove floors based on the pvs tree then rooms then smaller units like walls. compared to actually testing the view frustrum to all the polys that make up the level.

Share this post


Link to post
Share on other sites