Ignore:
Timestamp:
08/08/06 18:25:06 (18 years ago)
Author:
szydlowski
Message:

visualization in test app working, some issues to resolve

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreKdTreeSceneManager.cpp

    r1185 r1187  
    6161 
    6262// test 
    63 //String chc = "CHC"; 
    64 //setOption("RenderMethod", &chc); 
     63String chc = "CHC"; 
     64setOption("RenderMethod", &chc); 
    6565} 
    6666 
     
    557557                getRenderQueue()->clear(); 
    558558                if (mKdTree) 
    559                         mKdTree->queueVisibleObjects(cam, getRenderQueue(), onlyShadowCasters, mRenderMethod, mShowBoxes); 
     559                        mKdTree->queueVisibleObjects(cam, getRenderQueue(), onlyShadowCasters, mShowBoxes); 
    560560        } 
    561561        else 
     
    578578                                getRenderQueue()->clear(); 
    579579                                if (mKdTree) 
    580                                         mKdTree->queueVisibleObjects(cam, getRenderQueue(), onlyShadowCasters, mRenderMethod, mShowBoxes); 
     580                                        mKdTree->queueVisibleObjects(cam, getRenderQueue(), onlyShadowCasters, mShowBoxes); 
    581581                        } 
    582582 
     
    697697                        if (mUseDepthPass) 
    698698                        { 
    699                                 KdRenderableList::const_iterator it, it_end = mVisibleNodes.end(); 
    700  
    701                                 //getRenderQueue()->clear(); 
    702                                 for (it = mVisibleNodes.begin(); it != it_end; ++ it) 
     699                                //KdRenderableList::const_iterator it, it_end = mVisibleNodes.end(); 
     700 
     701                                ////getRenderQueue()->clear(); 
     702                                //for (it = mVisibleNodes.begin(); it != it_end; ++ it) 
     703                                //{ 
     704                                //      (*it)->queueObjects(mCameraInProgress, getRenderQueue(), false); 
     705                                //} 
     706                                KdTree::NodeList::const_iterator it, end = mVisibleNodes.end(); 
     707                                for (it = mVisibleNodes.begin(); it != end; it++) 
    703708                                { 
    704                                         (*it)->queueObjects(mCameraInProgress, getRenderQueue(), false); 
     709                                        (*it)->queueVisibleObjects(mHierarchyInterface->GetFrameId(), mCameraInProgress, 
     710                                                getRenderQueue(), false, mShowBoxes); 
    705711                                } 
    706712                        } 
    707 #endif   
     713#endif 
    708714                        //-- now we can render all remaining queue objects 
    709715                        //-- used for depth pass, transparents, overlay 
     
    724730} 
    725731 
    726 void KdTreeSceneManager::_renderNodes(const KdRenderableList& nodelist, Camera * cam,  
    727         bool onlyShadowCasters, int leavePassesInQueue) 
    728 { 
    729 #ifdef GTP_VISIBILITY_MODIFIED_OGRE 
     732//void KdTreeSceneManager::_renderNodes(const KdRenderableList& nodelist, Camera * cam,  
     733//      bool onlyShadowCasters, int leavePassesInQueue) 
     734void KdTreeSceneManager::_renderNode(KdTree::NodePtr node, Camera * cam,  
     735                                                                         bool onlyShadowCasters, int leavePassesInQueue) 
     736{ 
    730737        RenderQueueGroup *currentGroup =  
    731738                getRenderQueue()->getQueueGroup(getRenderQueue()->getDefaultQueueGroup()); 
    732739        currentGroup->clear(leavePassesInQueue); 
    733 #else 
    734         getRenderQueue()->clear(); 
    735 #endif 
    736         KdRenderableList::const_iterator it = nodelist.begin(); 
    737         KdRenderableList::const_iterator end = nodelist.end(); 
    738         while (it != end) 
    739         { 
    740                 if (!(*it)->isQueued(mHierarchyInterface->GetFrameId(), cam)) 
    741                 { 
    742                         mVisibleNodes.push_back(*it); 
    743                         (*it)->queueObjects(cam, getRenderQueue(), onlyShadowCasters); 
    744                 } 
    745                 it++; 
    746         } 
     740 
     741        node->queueVisibleObjects(mHierarchyInterface->GetFrameId(), cam, getRenderQueue(), 
     742                onlyShadowCasters, mShowBoxes); 
     743        mVisibleNodes.push_back(node); 
     744 
     745        //KdRenderableList::const_iterator it = nodelist.begin(); 
     746        //KdRenderableList::const_iterator end = nodelist.end(); 
     747        //while (it != end) 
     748        //{ 
     749        //      if (!(*it)->isQueued(mHierarchyInterface->GetFrameId(), cam)) 
     750        //      { 
     751        //              mVisibleNodes.push_back(*it); 
     752        //              (*it)->queueObjects(cam, getRenderQueue(), onlyShadowCasters); 
     753        //      } 
     754        //      it++; 
     755        //} 
    747756 
    748757        _renderQueueGroupObjects(currentGroup, QueuedRenderableCollection::OM_PASS_GROUP); 
     
    957966                nodeMat->getTechnique(0)->getPass(0)->removeAllTextureUnitStates(); 
    958967 
    959                 for (KdRenderableList::iterator it = mVisibleNodes.begin(); it != mVisibleNodes.end(); ++it) 
     968                for (KdTree::NodeList::iterator it = mVisibleNodes.begin(); it != mVisibleNodes.end(); ++it) 
    960969                { 
    961970                        if (mRenderNodesForViz) 
    962971                        { 
    963                                 KdTreeSceneNode * node = static_cast<KdTreeSceneNode *>(*it); 
    964                                 // render the leaf nodes 
    965                                 if (node->numAttachedObjects() &&  
    966                                         !node->numChildren() &&  
    967                                         (node->getAttachedObject(0)->getMovableType() == "Entity") && 
    968                                         node->getAttachedObject(0)->isVisible()) 
    969                                 { 
    970                                         getRenderQueue()->addRenderable(node); 
    971                                 } 
     972                                //KdTreeSceneNode * node = static_cast<KdTreeSceneNode *>(*it); 
     973                                //// render the leaf nodes 
     974                                //if (node->numAttachedObjects() &&  
     975                                //      !node->numChildren() &&  
     976                                //      (node->getAttachedObject(0)->getMovableType() == "Entity") && 
     977                                //      node->getAttachedObject(0)->isVisible()) 
     978                                //{ 
     979                                //      //getRenderQueue()->addRenderable(node); 
     980                                //      node->_addBoundingBoxToQueue(getRenderQueue()); 
     981                                //} 
     982 
     983                                /*** TODO: fix this ... maybe revert to original state, not quite happy now! ***/ 
    972984 
    973985                                // addbounding boxes instead of node itself 
     
    977989                        if (mRenderNodesContentForViz)  
    978990                        { 
    979                                 (*it)->queueObjects(cam, getRenderQueue(), false); 
     991                                //(*it)->queueObjects(cam, getRenderQueue(), false); 
     992                                (*it)->queueVisibleObjects(mHierarchyInterface->GetFrameId(),  
     993                                        cam, getRenderQueue(), false, mShowBoxes); 
    980994                        } 
    981995                } 
Note: See TracChangeset for help on using the changeset viewer.