Push everything into GPU

Started by
5 comments, last by BIOSME 21 years, 11 months ago
I''m designing a space cobat arcade game. The world is not limitted to any kind of geometry. A level may consist of detailed terrains, buildings, animated objects, and any thing you can put in a space. I need a visibility tehnique which is very fast; otherwise, I''m thinking of pushing everything to the GPU. Thanks.
Advertisement
if you dont limit the geometry you cant have much of a framerate. looking into dirrent LOD algos for landscape and models. also into bsp and portals. sounds like you want a mixed engine like descent3 had.

pushin everythin at the GPU is foolhardy and wont work well in any situation. consider reducing the level of your vision to something more reasonable, especially when you dont know anything about culling. try making a small scale game and working up to a larger scale.
Portals will not work for outdoor environments. BSP is used for only sorting polygons. ROAM is for landscape lod adaptation.
What about Octrees?
Octrees are for geometry culling. Like all trees, they work optimally when balanced. However, a space combat game will generally have very localized areas of activity (which incidentally move around lot).

I suggest looking at using Sphere Trees instead. John Ratcliff at Sony Online Ent. wrote a gem in "Game Programming Gems 2" about it.

But like "a person" said, if you''re starting from scratch, don''t think you can bypass it all and pop in a culling algorithm. Unless you know WHY those algorithms exist, there''s no point in continuing. So do it one step at a time. Just my thoughts on the matter


TLC
i know portals are for indoors, and sorting is quite important to help cull things fast. i assumed when you said buildings, i also thought space stations and such and figured you were going to allow ppl to travel inside them. perhaps not.
What if I use boundig boxes for objects and test each BB against the view volume?
All visbility culling techniques are best when they take advantage of the specific kind of geometry that the game uses - so indoor can use portals to remove rooms, racing games can assume only viewable from certain directions etc.

Basically think of ways that you can easily cull objects depending on your type of game. For a start you could try an oct-tree for a fast initial pass, followed by some more accurate (like your bounding box against view method) on the ones that pass that. Then you could add some basic LOD to the models that are actually visible depending on the difference.

Other than that, everything has pretty much been said already. Just think what your game geometry is like and find a good way to apply culling, and remember you can mix stuff around to get good speed as well as decent accuracy..

This topic is closed to new replies.

Advertisement