VBGamer |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RE: Frustrum Culling Michael Braitmaier (3 replies, 0 views) (2000-Sep-7) First of all I have to correct my first e-mail. Of course you don't skip objects which intersect with the view frustum , but only the objects which are completely outside the view frustum.
Well, I think the math behind the problem depends on how you organize your 3d data. It makes a difference of you use a scenegraph (for example Direct3D RM) or an intermediate mode (for example Direct3D IM or OpenGL). If you use a scenegraph then the organization of your 3d data is handled by the scenegraph, so you only have to traverse the hierarchical structure of the scenegraph and perform the following checks.
1. Test current object node of the scenegraph for intersection with the view frustum
1.1 If there is no intersection you can skip this node with all hierarchical "underlying" nodes.
1.2 If there is an intersection then there are two more possibilities:
1.2.1 The whole node with all his child nodes lies in the view frustum. Then you have to render this node with all child nodes.
1.2.2 Only a part if the current scenegraph node including his child nodes lies in the view frustum. Then you have to perfrom the view frustum culling algorithm for all childs beginning with figure 1.
P.S.: As a remark I want to mention that there is a article about culling technics in general, presenting some of them in theory at the below webadress. There is only one thing disturbing: It's only in german. But as long as this no problem for you, you should have look at it. There are also articles on other 3d aspects, but all on german (that's not a problem for me as I am from Germany, hehehe).
The adress to these articles is
http://wwwvis.informatik.uni-stuttgart.de/ger/teaching/lecture/seminar_scgraph/
At the end of this page, you can see all topics that were discussed and when clicking on the topics a page with the presentation and article appears.
I hope this helps a little bit
Michael
|