Jump to content
  • Advertisement
Sign in to follow this  
Chris_N

Frustum Culling?

This topic is 4848 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm doing some reading in frustum culling techniques, and I started to wounder witch component I should do the culling on.. Should I Do i on each separate polygon, a combination of polygons, or on a perobject level? By the way, the game i'm developing is a hockey game.. / Christoffer Nyberg

Share this post


Link to post
Share on other sites
Advertisement
I'd do it on a per-object level. Prehaps storing some sort of collision hull information for each object, a bounding box or sphere for which the object is contained within, then you'll need to do a test to see if the object is partially or fully within the view frustrum based on its position and its bounding volume.


Richard.

Share this post


Link to post
Share on other sites
The problem is that i don't have that many object, One gigantic mesh for the hole arena base, on for the ice, two for the goals.. and then the animated characters plus the puck. And it's the arenaBase that is 30.000 triangles that needs the most culling :).

Share this post


Link to post
Share on other sites
You don't want to cull on a per-triangle basis, and breaking down an object would only make sense if 1) the object is large and likely to have an extremely large number of triangles outside the frustum and 2) you can draw a subset of the object at low cost.

Generally culling on only a bounding volume is more than sufficient. If you have more than a few objects you will also want to cull multiple objects at a time. Look into Quadtrees, octrees, etc for more infomration on this.

Share this post


Link to post
Share on other sites
Quote:
Original post by Chris_N
The problem is that i don't have that many object, One gigantic mesh for the hole arena base, on for the ice, two for the goals.. and then the animated characters plus the puck. And it's the arenaBase that is 30.000 triangles that needs the most culling :).

Break the object down into multiple meshes then, and cull each one seperately.

Share this post


Link to post
Share on other sites
Ahhh, cool... I think you'll need some sort of system to split this up into chunks, which you can then test with the view frustrum.


[link]http://www.gamedev.net/reference/articles/article1212.asp[/link]

check out the section titled "Cell-based occlusion culling"...





Richard.

Share this post


Link to post
Share on other sites
I do frustum clipping at an object level using a bounding sphere, then an axis-aligned BB. After that, clipping is done for each poly in view space against the screen edges. You will probably get better performance if you break the arena into smaller pieces and treat each as an object.

Share this post


Link to post
Share on other sites
Ok, will split the arena base into chunkable( if that is a word), objects and then try some culling... thanks for the answers.

Share this post


Link to post
Share on other sites
...something like:

- a quad-tree;
- an octree
- a kd-tree / aabb tree

Divide the geometry into a tree structure and use your frustrum to cull branches of the tree.

You can decide whether you want to cut the triangles (unique nodes) or to leave the triangles intact (overlapping nodes).

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!