Re: [Algorithms] View Frustum Culling
Brought to you by:
vexxed72
From: Dave E. <eb...@ma...> - 2000-09-07 13:20:55
|
From: Tim Johnston > What is the best method for coarse bounding box frustum culling? "Best" depends on your application. There are always tradeoffs to be considered. > From what I can gather you either use axis aligned bound > boxes (AABBs) or oriented bounding boxes (OBBs), with > OBBs having the advantage of tighter fitting but need extra > computations for the culling process. Also which culling > method is best, perspective transform the BB and the view > frustum to the perspective coordinate system (which with > AABBs can result in testing two AABBs which is just 6 > comparisons, however you have to transform all 8 vertices > of the AABB) or testing the BB against the 6 planes of the > view frustum (which seems much simpler and > straightforward if that is all that is needed.) Testing for intersection between box and frustum a plane at a time is fast, but not conclusive. You have the situation where a box is not determined to be completely outside any plane, but the box does not intersect the frustum. It takes more time to determine the actual relationship between box and frustum. This is one of the tradeoffs you need to decide on. Plane-at-a-time is a fast test for no-intersection, but you might send a few objects to the renderer only to be clip-culled or rejected by z-buffer tests a pixel at a time. The full test is slower, but you never send objects outside the frustum to the renderer. Therefore in computing costs for the culling methods, you need more than just a cost comparison of the intersection routines. > Also what are the extra steps needed to use OBBs instead? Code and document for culling OBBs against frustum is at my web site, MgcIntersection.html page. -- Dave Eberly eb...@ma... http://www.magic-software.com |