source: GTP/trunk/App/Demos/Vis/FriendlyCulling/src/FrustumCullingTraverser.cpp @ 2795

Revision 2795, 736 bytes checked in by mattausch, 16 years ago (diff)
Line 
1#include "FrustumCullingTraverser.h"
2#include "SceneEntity.h"
3
4using namespace std;
5
6
7namespace CHCDemoEngine
8{
9
10FrustumCullingTraverser::FrustumCullingTraverser(): RenderTraverser()
11{
12}
13
14
15void FrustumCullingTraverser::Traverse()
16{
17        while (!mDistanceQueue.empty())
18        {
19                BvhNode *node = mDistanceQueue.top();
20                mDistanceQueue.pop();
21       
22                // interesting for the visualization, so rest and set
23                node->SetVisible(false);
24
25                if (mBvh->IsWithinViewFrustum(node))
26                {
27                        // update node's visited flag => needed for rendering
28                        // so set it also here
29                        //node->SetLastVisited(mFrameID);
30                        node->SetVisible(true);
31                        TraverseNode(node);
32                }
33                else
34                {
35                        mStats.mNumFrustumCulledNodes ++;
36                }
37        }
38}
39
40
41}
Note: See TracBrowser for help on using the repository browser.