Changeset 33 for trunk/VUT


Ignore:
Timestamp:
03/30/05 11:36:07 (19 years ago)
Author:
Mattausch
Message:
 
Location:
trunk/VUT/OcclusionCullingSceneManager
Files:
4 added
2 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/OcclusionCullingSceneManager/TestCulling/TestCulling.vcproj

    r32 r33  
    2121                                Name="VCCLCompilerTool" 
    2222                                Optimization="0" 
    23                                 AdditionalIncludeDirectories=""$(OGRE_PATH)\Dependencies\include";"$(OGRE_PATH)\OgreMain\include";"$(OGRE_PATH)\Samples\Common\include";"$(OGRE_PATH)\Dependencies\include\CEGUI";"$(OGRE_PATH)\Samples\Common\CEGUIRenderer\include"" 
    24                                 PreprocessorDefinitions="_WINDOWS;_STLP_USE_DYNAMIC_LIB;OGRE_LIBRARY_IMPORTS;_DEBUG;WIN32;_STLP_DEBUG" 
     23                                AdditionalIncludeDirectories=""$(OGRE_PATH)\Dependencies\include";"$(OGRE_PATH)\OgreMain\include";"$(OGRE_PATH)\Samples\Common\include";"$(OGRE_PATH)\Dependencies\include\CEGUI";"$(OGRE_PATH)\PlugIns\OctreeSceneManager\include";"$(OGRE_ADDONS_PATH)\dotsceneoctree\PlugIns\DotSceneManager\include";"$(OGRE_PATH)\Samples\Common\CEGUIRenderer\include";../include" 
     24                                PreprocessorDefinitions="_WINDOWS;_STLP_USE_DYNAMIC_LIB;OGRE_LIBRARY_IMPORTS;_DEBUG;WIN32;_STLP_DEBUG;PLUGIN_TERRAIN_IMPORTS" 
    2525                                MinimalRebuild="TRUE" 
    2626                                BasicRuntimeChecks="3" 
     
    3434                        <Tool 
    3535                                Name="VCLinkerTool" 
    36                                 AdditionalDependencies="OGREMain_d.LIB CEGUIBase_d.lib OgreGUIRenderer_d.lib Plugin_OctreeSceneManager.lib" 
     36                                AdditionalDependencies="Plugin_OctreeSceneManager.lib OGREMain_d.LIB CEGUIBase_d.lib OgreGUIRenderer_d.lib Plugin_DotSceneManager.lib" 
    3737                                OutputFile="$(OGRE_PATH)/Samples/Common/bin/Debug/TestCulling.exe" 
    3838                                LinkIncremental="2" 
    39                                 AdditionalLibraryDirectories="&quot;$(OGRE_PATH)\Dependencies\Lib\Debug&quot;;&quot;$(OGRE_PATH)\OgreMain\Lib\Debug&quot;;&quot;$(OGRE_PATH)\Samples\Common\CEGUIRenderer\lib&quot;;&quot;$(OGRE_PATH)\PlugIns\OctreeSceneManager\bin\$(ConfigurationName)&quot;" 
     39                                AdditionalLibraryDirectories="&quot;$(OGRE_PATH)\Dependencies\Lib\Debug&quot;;&quot;$(OGRE_ADDONS_PATH)\dotsceneoctree\PlugIns\DotSceneManager\bin\debug&quot;;&quot;$(OGRE_PATH)\OgreMain\Lib\Debug&quot;;&quot;$(OGRE_PATH)\PlugIns\OctreeSceneManager\bin\debug&quot;;&quot;$(OGRE_PATH)\Samples\Common\CEGUIRenderer\lib&quot;" 
    4040                                GenerateDebugInformation="TRUE" 
    4141                                ProgramDatabaseFile="$(OutDir)/TestCulling.pdb" 
  • trunk/VUT/OcclusionCullingSceneManager/TestCulling/TestCullingApplication.cpp

    r32 r33  
    66*/ 
    77 
    8 //#pragma warning (push) 
    9 //#pragma warning( disable : 4267 ) 
    10  
    118#include <OgreNoMemoryMacros.h> 
    129#include <CEGUI/CEGUI.h> 
     
    1512#include <../CEGUIRenderer/include/OgreCEGUITexture.h> 
    1613#include <OgreMemoryMacros.h> 
    17 //#pragma warning (pop) 
    18 /* 
    19 #include <CEGUI/CEGUIImageset.h> 
    20 #include <CEGUI/CEGUISystem.h> 
    21 #include <CEGUI/CEGUISchemeManager.h> 
    22 #include <CEGUI/CEGUIWindowManager.h> 
    23 #include <CEGUI/CEGUIWindow.h> 
    24 #include <CEGUI/CEGUILogger.h> 
    25 #include <CEGUI/elements/CEGUICombobox.h> 
    26 #include <CEGUI/elements/CEGUIListbox.h> 
    27 #include <CEGUI/elements/CEGUIListboxTextItem.h> 
    28 #include <CEGUI/elements/CEGUIPushButton.h> 
    29 #include <CEGUI/elements/CEGUIScrollbar.h> 
    30 #include <CEGUI/elements/CEGUIStaticImage.h> 
    31  
    32 #include "OgreCEGUIRenderer.h" 
    33 #include "OgreCEGUIResourceProvider.h" 
    34 */ 
     14 
    3515#include "Ogre.h" 
    3616#include "TestCullingApplication.h" 
     17#include "OgreOcclusionCullingSceneTraverser.h" 
    3718 
    3819#define WIN32_LEAN_AND_MEAN 
     
    8364void TestCullingApplication::chooseSceneManager(void) 
    8465{ 
    85     mSceneMgr = mRoot->getSceneManager(ST_GENERIC); 
     66    //mSceneMgr = mRoot->getSceneManager(ST_GENERIC); 
     67        mSceneMgr = mRoot->getSceneManager(ST_EXTERIOR_CLOSE); 
    8668} 
    8769 
     
    9678{ 
    9779 
    98                 // Setup default variables 
    99         mCurrentObject = NULL; 
    100         mLMouseDown = false; 
    101         mRMouseDown = false; 
    102         mSceneMgr = sceneManager; 
    103  
    104         // Reduce move speed 
    105         mMoveSpeed = 50; 
    106         mRotateSpeed *= 2; 
    107          
    108                 mCurrentAlgorithm = OcclusionCullingSceneTraverser::RENDER_COHERENT; 
    109                 mThreshold = 0; 
    110  
    111                 // Register this so that we get mouse events. 
    112         mEventProcessor->addMouseListener(this); 
    113         mEventProcessor->addMouseMotionListener(this); 
    114                 mEventProcessor->addKeyListener(this); 
    115  
    116                 // show overlay 
    117         Overlay* pOver = OverlayManager::getSingleton().getByName("Example/OcclusionDemoOverlay");  
    118  
    119         mAlgorithmInfo = OverlayManager::getSingleton().getOverlayElement("Example/Occlusion/AlgorithmInfo"); 
    120                 mThresholdInfo = OverlayManager::getSingleton().getOverlayElement("Example/Occlusion/ThresholdInfo"); 
    121                 mFrustumCulledNodesInfo = OverlayManager::getSingleton().getOverlayElement("Example/Occlusion/FrustumCulledNodesInfo"); 
    122                 mQueryCulledNodesInfo = OverlayManager::getSingleton().getOverlayElement("Example/Occlusion/QueryCulledNodesInfo"); 
    123         mTraversedNodesInfo = OverlayManager::getSingleton().getOverlayElement("Example/Occlusion/TraversedNodesInfo"); 
    124          
    125                 mAlgorithmInfo->setCaption(": " + mCurrentAlgorithmCaptions[mCurrentAlgorithm]); 
    126                 mThresholdInfo->setCaption(": 0"); 
    127                 mFrustumCulledNodesInfo->setCaption(": 0"); 
    128                 mQueryCulledNodesInfo->setCaption(": 0"); 
    129                 mTraversedNodesInfo->setCaption(": 0"); 
    130  
    131         pOver->show(); 
     80        // Setup default variables 
     81        mCurrentObject = NULL; 
     82        mLMouseDown = false; 
     83        mRMouseDown = false; 
     84        mSceneMgr = sceneManager; 
     85 
     86    // Reduce move speed 
     87        mMoveSpeed = 50; 
     88        mRotateSpeed *= 2; 
     89 
     90        mCurrentAlgorithm = OcclusionCullingSceneTraverser::RENDER_COHERENT; 
     91        mThreshold = 0; 
     92     
     93        // Register this so that we get mouse events. 
     94        mEventProcessor->addMouseListener(this); 
     95        mEventProcessor->addMouseMotionListener(this); 
     96        mEventProcessor->addKeyListener(this); 
     97 
     98        // show overlay 
     99        Overlay* pOver = OverlayManager::getSingleton().getByName("Example/OcclusionDemoOverlay");  
     100 
     101        mAlgorithmInfo = OverlayManager::getSingleton().getOverlayElement("Example/Occlusion/AlgorithmInfo"); 
     102        mThresholdInfo = OverlayManager::getSingleton().getOverlayElement("Example/Occlusion/ThresholdInfo"); 
     103        mFrustumCulledNodesInfo = OverlayManager::getSingleton().getOverlayElement("Example/Occlusion/FrustumCulledNodesInfo"); 
     104        mQueryCulledNodesInfo = OverlayManager::getSingleton().getOverlayElement("Example/Occlusion/QueryCulledNodesInfo"); 
     105    mTraversedNodesInfo = OverlayManager::getSingleton().getOverlayElement("Example/Occlusion/TraversedNodesInfo"); 
     106 
     107        mAlgorithmInfo->setCaption(": " + mCurrentAlgorithmCaptions[mCurrentAlgorithm]); 
     108        mThresholdInfo->setCaption(": 0"); 
     109        mFrustumCulledNodesInfo->setCaption(": 0"); 
     110        mQueryCulledNodesInfo->setCaption(": 0"); 
     111        mTraversedNodesInfo->setCaption(": 0"); 
     112 
     113    pOver->show(); 
    132114} // MouseQueryListener 
    133115//----------------------------------------------------------------------- 
  • trunk/VUT/OcclusionCullingSceneManager/TestCulling/TestCullingApplication.h

    r32 r33  
    55#include "CEGUIForwardRefs.h" 
    66#include "ExampleApplication.h" 
    7 #include "OgreOcclusionCullingSceneManager.h" 
     7//#include "OgreOcclusionCullingSceneManager.h" 
    88#include "OgreOcclusionCullingSceneTraverser.h" 
    99 
  • trunk/VUT/OcclusionCullingSceneManager/include/OgreOcclusionCullingSceneManager.h

    r32 r33  
    2020        public: 
    2121                OcclusionCullingSceneManager(); 
    22                 //~OcclusionCullingSceneManager(); 
     22                ~OcclusionCullingSceneManager(); 
    2323         
    2424                /** Overriden from SceneManager. Renders the scene with the specified algorithm 
     
    4949 
    5050        protected: 
    51                 OcclusionCullingSceneTraverser mSceneTraverser; 
     51                OcclusionCullingSceneTraverser *mOcclusionCullingSceneTraverser; 
    5252         
    5353        }; 
  • trunk/VUT/OcclusionCullingSceneManager/include/OgreOcclusionCullingSceneTraverser.h

    r32 r33  
    3939        { 
    4040        public: 
    41                 OcclusionCullingSceneTraverser(); 
     41                /** Construction taking the current scene manager and the current rendersystem as argument 
     42                @param sm current scene manager 
     43                @param rsys current render system  
     44                */ 
     45                OcclusionCullingSceneTraverser(SceneManager *sm, RenderSystem *rsys); 
    4246                ~OcclusionCullingSceneTraverser(); 
    4347         
    4448                enum {RENDER_CULL_FRUSTUM, RENDER_STOP_AND_WAIT, RENDER_COHERENT, NUM_RENDERMODES}; 
    4549                 
    46                 /** Overriden from SceneManager. Renders the scene with the specified algorithm 
    47                 /** 
    48                         The algorithm is one of 
     50                /** Renders the scene with the specified algorithm 
     51                        @comment  
     52                        The algorithm type can be set with the parameter "Algorithm" and setOption. 
     53 
     54                        The algorithm is one of: 
    4955                        RENDER_CULL_FRUSTUM: renders the scene with view frustum culling only 
    5056                        RENDER_STOP_AND_WAIT: renders the scene with the hierarchical stop and wait algorithm 
    5157                        RENDER_COHERENT: renders the scene with the coherent hierarchical algorithm 
     58                         
     59                        @param cam current camera 
     60                        @param root root of hierarchy  
    5261                */ 
     62                void renderScene( Camera *cam, SceneNode *root ); 
     63         
    5364                 
    54                 /** Sets the given option for the SceneTraverser 
     65                /** Sets the given option for the scene traverser. 
    5566                               @remarks 
    5667                        Options are: 
     
    5869                */ 
    5970                bool setOption( const String &, const void * ); 
    60                 /** Gets the given option for the SceneTraverser. 
     71                /** Gets the given option for the scene traverser. 
    6172                @remarks 
    6273                    See setOption 
    6374                */ 
    6475                bool getOption( const String &, void * ); 
    65  
    66                 /** Renders current scene  
    67                 @param cam current camera 
    68                 @param root root of hierarchy */ 
    69                 void renderScene(  Camera *cam, SceneNode *root ); 
    70  
    71                 /** Sets the scene manager */ 
     76                bool getOptionKeys( StringVector &refKeys ); 
     77                 
     78                /** Sets pointer to the current scene manager. 
     79                @param the scene manager */ 
    7280                void setSceneManager( SceneManager *sm ); 
    73                 /** Sets the render system */ 
     81                 
     82                /** Sets pointer to the current render system  
     83                @param the rendersystem */ 
    7484                void setRenderSystem( RenderSystem *rsys ); 
    75  
     85                 
     86                /** Doing some necessary preprocessing. 
     87                @comment e.g., initialises occlusion queries */ 
    7688                void preprocess( void ); 
    7789 
     90                /** Sets the current number of scene nodes in the scene. 
     91                @param num number of scene nodes 
     92                */ 
     93                void setNumSceneNodes(int num ); 
     94 
    7895        protected: 
     96                /** query mode (= without color) or RENDER_MODE */ 
    7997                enum {MODE_QUERY, MODE_RENDER}; 
    8098                /** returns true if node is leaf of the hierarchy */ 
  • trunk/VUT/OcclusionCullingSceneManager/scripts/Plugin_OcclusionCullingSceneManager.vcproj

    r32 r33  
    2020                                Name="VCCLCompilerTool" 
    2121                                Optimization="0" 
    22                                 AdditionalIncludeDirectories="&quot;$(OGRE_PATH)\PlugIns\OctreeSceneManager\include&quot;;&quot;$(OGRE_PATH)\Samples\Common\include&quot;;&quot;$(OGRE_PATH)\Dependencies\include\CEGUI&quot;;&quot;$(OGRE_PATH)\Samples\Common\CEGUIRenderer\include&quot;;&quot;$(OGRE_PATH)\OgreMain\include&quot;;&quot;$(OGRE_PATH)\Dependencies\include&quot;;..\include" 
     22                                AdditionalIncludeDirectories="&quot;$(OGRE_PATH)\PlugIns\OctreeSceneManager\include&quot;;&quot;$(OGRE_ADDONS_PATH)\dotsceneoctree\PlugIns\DotSceneManager\include&quot;;&quot;$(OGRE_PATH)\Samples\Common\include&quot;;&quot;$(OGRE_PATH)\Dependencies\include\CEGUI&quot;;&quot;$(OGRE_PATH)\Samples\Common\CEGUIRenderer\include&quot;;&quot;$(OGRE_PATH)\OgreMain\include&quot;;&quot;$(OGRE_PATH)\Dependencies\include&quot;;..\include" 
    2323                                PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PLUGIN_OCCLUSIONCULLINGSCENEMANAGER_EXPORTS;OGRE_COHERENT_OCCLUSION_CULLING" 
    2424                                MinimalRebuild="TRUE" 
     
    3535                                Name="VCLinkerTool" 
    3636                                IgnoreImportLibrary="TRUE" 
    37                                 AdditionalDependencies="OgreMain_d.lib CEGUIBase_d.lib OgreGUIRenderer_d.lib Plugin_OctreeSceneManager.lib" 
     37                                AdditionalDependencies="OgreMain_d.lib CEGUIBase_d.lib OgreGUIRenderer_d.lib Plugin_OctreeSceneManager.lib Plugin_DotSceneManager.lib" 
    3838                                OutputFile="$(OutDir)/Plugin_OcclusionCullingSceneManager.dll" 
    3939                                Version="0.99" 
    4040                                LinkIncremental="2" 
    4141                                SuppressStartupBanner="TRUE" 
    42                                 AdditionalLibraryDirectories="&quot;$(OGRE_PATH)\OgreMain\lib\$(ConfigurationName)&quot;;&quot;$(OGRE_PATH)\Dependencies\lib\$(ConfigurationName)&quot;;&quot;$(OGRE_PATH)\PlugIns\OctreeSceneManager\bin\$(ConfigurationName)&quot;;&quot;$(OGRE_PATH)\Samples\Common\CEGUIRenderer\lib&quot;" 
     42                                AdditionalLibraryDirectories="&quot;$(OGRE_PATH)\OgreMain\lib\$(ConfigurationName)&quot;;&quot;$(OGRE_PATH)\Dependencies\lib\$(ConfigurationName)&quot;;&quot;$(OGRE_PATH)\PlugIns\OctreeSceneManager\bin\$(ConfigurationName)&quot;;&quot;$(OGRE_PATH)\Samples\Common\CEGUIRenderer\lib&quot;;&quot;$(OGRE_ADDONS_PATH)\dotsceneoctree\PlugIns\DotSceneManager\bin\debug&quot;" 
    4343                                ModuleDefinitionFile="..\misc\OgreOcclusionCullingSceneManager.def" 
    4444                                GenerateDebugInformation="TRUE" 
    4545                                ProgramDatabaseFile="$(OutDir)/Plugin_OcclusionCullingSceneManager.pdb" 
    4646                                SubSystem="2" 
    47                                 ImportLibrary="" 
     47                                ImportLibrary="$(OUTDIR)\Plugin_OcclusionCullingSceneManager.lib" 
    4848                                TargetMachine="1"/> 
    4949                        <Tool 
     
    145145                        Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"> 
    146146                        <File 
     147                                RelativePath="..\src\OgreOcclusionCullingDotSceneManager.cpp"> 
     148                        </File> 
     149                        <File 
    147150                                RelativePath="..\src\OgreOcclusionCullingResourceManager.cpp"> 
    148151                        </File> 
     
    157160                        </File> 
    158161                        <File 
    159                                 RelativePath="..\src\OgreSolidHalfBoundingBox.cpp"> 
     162                                RelativePath="..\src\OgreOcclusionCullingTerrainSceneManager.cpp"> 
    160163                        </File> 
    161164                        <File 
    162                                 RelativePath="..\TestCulling\TestCullingApplication.cpp"> 
     165                                RelativePath="..\src\OgreSolidHalfBoundingBox.cpp"> 
    163166                        </File> 
    164167                </Filter> 
     
    166169                        Name="Header Files" 
    167170                        Filter="h;hpp;hxx;hm;inl;inc"> 
     171                        <File 
     172                                RelativePath="..\include\OgreOcclusionCullingDotSceneManager.h"> 
     173                        </File> 
    168174                        <File 
    169175                                RelativePath="..\include\OgreOcclusionCullingResourceManager.h"> 
     
    174180                        <File 
    175181                                RelativePath="..\include\OgreOcclusionCullingSceneTraverser.h"> 
     182                        </File> 
     183                        <File 
     184                                RelativePath="..\include\OgreOcclusionCullingTerrainSceneManager.h"> 
    176185                        </File> 
    177186                        <File 
  • trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingSceneManager.cpp

    r32 r33  
    1515        OcclusionCullingSceneManager::OcclusionCullingSceneManager() 
    1616        { 
     17                mOcclusionCullingSceneTraverser = new OcclusionCullingSceneTraverser(this, mDestRenderSystem); 
     18        } 
     19        //----------------------------------------------------------------------- 
     20        OcclusionCullingSceneManager::~OcclusionCullingSceneManager() 
     21        { 
     22                delete mOcclusionCullingSceneTraverser; 
    1723        } 
    1824        //----------------------------------------------------------------------- 
     
    2430        void OcclusionCullingSceneManager::_renderVisibleObjects( void ) 
    2531        { 
    26                 mSceneTraverser.renderScene(mCameraInProgress, mSceneRoot); 
     32                mOcclusionCullingSceneTraverser->renderScene(mCameraInProgress, mSceneRoot); 
    2733        } 
    2834        //----------------------------------------------------------------------- 
     
    3440        void OcclusionCullingSceneManager::_updateSceneGraph( Camera* cam ) 
    3541        { 
    36                 mSceneTraverser.preprocess(); 
     42                mOcclusionCullingSceneTraverser->setNumSceneNodes(mSceneNodes.size()); 
     43                mOcclusionCullingSceneTraverser->preprocess(); 
    3744                 
    3845                SceneManager::_updateSceneGraph(cam); 
     
    4148        bool OcclusionCullingSceneManager::setOption( const String & key, const void * val ) 
    4249        { 
    43                 mSceneTraverser.setOption(key, val); 
     50                mOcclusionCullingSceneTraverser->setOption(key, val); 
    4451                         
    4552                return SceneManager::setOption( key, val ); 
     
    4855        bool OcclusionCullingSceneManager::getOption( const String & key, void *val ) 
    4956        { 
    50                 mSceneTraverser.getOption(key, val); 
     57                mOcclusionCullingSceneTraverser->getOption(key, val); 
    5158                 
    5259                return SceneManager::getOption( key, val ); 
     
    6269                SceneManager::getOptionKeys( refKeys ); 
    6370 
    64                 refKeys.push_back( "Algorithm" ); 
    65                 refKeys.push_back( "Threshold" ); 
    66                 refKeys.push_back( "NumSceneNodes" ); 
    67                 refKeys.push_back( "NumTraversedNodes" ); 
    68                 refKeys.push_back( "NumQueryCulledNodes" ); 
    69                 refKeys.push_back( "NumFrustumCulledNodes" ); 
    70                 //refKeys.push_back( "mNumRenderedGeometry" ); 
     71                mOcclusionCullingSceneTraverser->getOptionKeys( refKeys ); 
     72 
    7173                return true; 
    7274        } 
  • trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingSceneManagerDll.cpp

    r32 r33  
    2424*/ 
    2525 
    26 //#include "OgreOcclusionCullingSceneManager.h" 
    27 //#include "OgreTerrainOcclusionCullingSceneManager.h" 
    28 #include <OgreOctreeSceneManager.h> 
    29 #include <OgreTerrainSceneManager.h> 
     26#include "OgreOcclusionCullingTerrainSceneManager.h" 
     27#include "OgreOcclusionCullingSceneManager.h" 
     28#include "OgreOcclusionCullingDotSceneManager.h" 
    3029#include <OgreRoot.h> 
    31 #include "OgreHeightmapTerrainPageSource.h" 
     30 
     31//#include "OgreHeightmapTerrainPageSource.h" 
    3232//#include <windows.h> 
    3333 
    3434namespace Ogre { 
    3535 
    36     //OcclusionCullingSceneManager *occlusionPlugin; 
    37         //TerrainOcclusionCullingSceneManager *terrainOcclusionPlugin; 
    38         OctreeSceneManager *ocPlugin; 
    39  
     36    OcclusionCullingSceneManager *occlusionPlugin; 
     37        OcclusionCullingTerrainSceneManager *occlusionTerrainPlugin; 
     38         
    4039    //----------------------------------------------------------------------- 
    4140    extern "C" void dllStartPlugin(void) 
    4241    { 
    4342                // Create new scene manager 
    44         //      occlusionPlugin = new OcclusionCullingSceneManager(); 
    45                 ocPlugin = new OctreeSceneManager(); 
     43                occlusionPlugin = new OcclusionCullingSceneManager(); 
     44                occlusionTerrainPlugin = new OcclusionCullingTerrainSceneManager(); 
    4645     
    4746            // Register 
    48                 //Root::getSingleton().setSceneManager( ST_GENERIC, occlusionPlugin ); 
    49 //              Root::getSingleton().setSceneManager( ST_EXTERIOR_CLOSE, terrainOcclusionPlugin ); 
    50                 Root::getSingleton().setSceneManager( ST_EXTERIOR_CLOSE, ocPlugin ); 
    51  
    52                 //MessageBox( NULL, "myplugin registered", "this is my plugin", MB_OK | MB_ICONERROR | MB_TASKMODAL); 
     47                Root::getSingleton().setSceneManager( ST_GENERIC, occlusionPlugin ); 
     48                Root::getSingleton().setSceneManager( ST_EXTERIOR_CLOSE, occlusionTerrainPlugin ); 
     49                 
     50                // MessageBox( NULL, "myplugin registered", "this is my plugin", MB_OK | MB_ICONERROR | MB_TASKMODAL); 
    5351    } 
    5452    extern "C" void dllStopPlugin(void) 
    5553    { 
    56       //  delete occlusionPlugin; 
    57                 delete ocPlugin; 
    58                 //delete terrainOcclusionPlugin; 
     54        delete occlusionPlugin; 
     55                delete occlusionTerrainPlugin; 
    5956    } 
    6057} 
  • trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingSceneTraverser.cpp

    r32 r33  
    77#include "OgreSolidHalfBoundingBox.h" 
    88 
     9 
    910#include <windows.h> 
    1011 
     
    1213         
    1314        //----------------------------------------------------------------------- 
    14         OcclusionCullingSceneTraverser::OcclusionCullingSceneTraverser():  
     15        OcclusionCullingSceneTraverser::OcclusionCullingSceneTraverser(SceneManager *sm, RenderSystem *rsys):  
    1516        mFrameId(1), mDistanceQueue(NULL), mVisibilityThreshold(0), mCurrentTestIdx(0), 
    1617        mQueryMode(MODE_RENDER), mNumSceneNodes(0), mCurrentAlgorithm(RENDER_COHERENT), 
    1718        mNumTraversedNodes(0), mNumQueryCulledNodes(0), mNumFrustumCulledNodes(0),  
    18         mNumRenderedGeometry(0), mSceneManager(0), mRenderSystem(0) 
     19        mNumRenderedGeometry(0), mSceneManager(sm), mRenderSystem(rsys) 
    1920        {                
    2021                mHalfBoundingBox[0] = mHalfBoundingBox[1] = 0; 
     
    257258                //-- initialise occlusion queries. 
    258259                deleteQueries(); 
    259                          
     260                 
    260261                for(unsigned int i=0; i < mNumSceneNodes; i++) 
    261262                { 
     
    389390                return false; 
    390391        } 
     392        //----------------------------------------------------------------------- 
     393        bool OcclusionCullingSceneTraverser::getOptionKeys( StringVector & refKeys ) 
     394        { 
     395                refKeys.push_back( "Algorithm" ); 
     396                refKeys.push_back( "Threshold" ); 
     397                refKeys.push_back( "NumSceneNodes" ); 
     398                refKeys.push_back( "NumTraversedNodes" ); 
     399                refKeys.push_back( "NumQueryCulledNodes" ); 
     400                refKeys.push_back( "NumFrustumCulledNodes" ); 
     401                //refKeys.push_back( "mNumRenderedGeometry" ); 
     402 
     403                return true; 
     404        } 
     405        //----------------------------------------------------------------------- 
     406        void OcclusionCullingSceneTraverser::setNumSceneNodes(int num) 
     407        { 
     408                mNumSceneNodes = num; 
     409        } 
    391410}        
Note: See TracChangeset for help on using the changeset viewer.