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

visualization in test app working, some issues to resolve

Location:
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreKdTree.h

    r1183 r1187  
    207207                        virtual bool isEmpty() const = 0; 
    208208                        virtual bool hasGeometry() const = 0; 
     209 
     210                        virtual void queueVisibleObjects(unsigned long currentFrame,  
     211                                Camera* cam, RenderQueue* queue, bool onlyShadowCasters, bool showBoxes) = 0; 
    209212                         
    210213                        // consider using typesafe callback functions 
     
    288291                        int mLevel; 
    289292                        AxisAlignedBox mAABB; 
    290                 protected: 
    291                         WireBoundingBox * mWBB; 
    292293 
    293294                        // for the CHC hierarchy interface 
    294295                        /** the real extent of the node. */ 
    295296                        AxisAlignedBox mWorldAABB; 
     297                protected: 
     298                        WireBoundingBox * mWBB; 
    296299                         
    297300                        unsigned int mLastRendered; 
     
    327330                        virtual bool hasGeometry() const { return false; }; 
    328331 
     332                        virtual void queueVisibleObjects(unsigned long currentFrame,  
     333                                Camera* cam, RenderQueue* queue, bool onlyShadowCasters, bool showBoxes) 
     334                        { 
     335                                if (showBoxes) 
     336                                { 
     337                                        WireBoundingBox * wbb = getWireBoundingBox(); 
     338                                        if (wbb) 
     339                                                queue->addRenderable(wbb); 
     340                                } 
     341                        } 
     342 
    329343                        // branches do not posses geometry => just merge child aabbs 
    330344                        virtual void _updateBounds(bool recurse = true) 
     
    334348 
    335349                                if (mLeft) 
    336                                         mWorldAABB.merge(mLeft->_getWorldAABB()); 
     350                                        mWorldAABB.merge(mLeft->mWorldAABB); 
    337351                                if (mRight) 
    338                                         mWorldAABB.merge(mRight->_getWorldAABB()); 
     352                                        mWorldAABB.merge(mRight->mWorldAABB); 
    339353 
    340354                                // update parent recursively 
     
    367381                        virtual bool hasGeometry() const { return !mKdRenderables.empty(); }; 
    368382 
     383                        virtual void queueVisibleObjects(unsigned long currentFrame,  
     384                                Camera* cam, RenderQueue* queue, bool onlyShadowCasters, bool showBoxes); 
     385 
    369386                        // update the world aabb based on the contained geometry 
    370387                        virtual void _updateBounds(bool recurse = true); 
     
    430447                typedef KdTree::Branch * BranchPtr; 
    431448                typedef KdTree::Leaf * LeafPtr; 
     449 
     450                typedef std::list<NodePtr> NodeList; 
    432451                typedef std::set<LeafPtr> LeafSet; 
    433452 
     
    484503 
    485504                // test visibility of objects and add to render queue 
    486                 void queueVisibleObjects(Camera* cam, RenderQueue* queue, bool onlyShadowCasters,  
    487                         RenderMethod renderMethod, bool showBoxes = false); 
     505                void queueVisibleObjects(Camera* cam, RenderQueue* queue, bool onlyShadowCasters, bool showBoxes = false); 
    488506 
    489507                // self-explanatory ... 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreKdTreeSceneManager.h

    r1185 r1187  
    1616#include "OgreKdTree.h" 
    1717 
    18 #define KDTREE_MAX_DEPTH 20 
     18#define KDTREE_MAX_DEPTH 12 
    1919 
    2020namespace Ogre 
     
    134134        /** Render a list of scenenodes 
    135135        */ 
    136         virtual void _renderNodes(const KdRenderableList& nodelist, Camera * cam, 
     136        //virtual void _renderNodes(const KdRenderableList& nodelist, Camera * cam, 
     137        //      bool onlyShadowCasters, int leavePassesInQueue); 
     138        virtual void _renderNode(KdTree::NodePtr node, Camera * cam, 
    137139                bool onlyShadowCasters, int leavePassesInQueue); 
    138140 
     
    227229 
    228230        // remember visited scene nodes for viz 
    229         KdRenderableList mVisibleNodes; 
     231        //KdRenderableList mVisibleNodes; 
     232        KdTree::NodeList mVisibleNodes; 
    230233 
    231234        /************************************************************************/ 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreKdTreeSceneNode.h

    r1173 r1187  
    4343                virtual AxisAlignedBox getBoundingBox() const; 
    4444 
     45                // custom render op, show bounding box instead of axes 
     46                //virtual void getRenderOperation(RenderOperation& op); 
     47 
    4548                //virtual void _findVisibleObjects(Camera* cam, RenderQueue* queue,  
    4649                //      bool includeChildren = true, bool displayNodes = false, bool onlyShadowCasters = false); 
Note: See TracChangeset for help on using the changeset viewer.