Changeset 74 for trunk/VUT/Ogre


Ignore:
Timestamp:
05/01/05 23:29:27 (19 years ago)
Author:
mattausch
Message:

added support for release mode

Location:
trunk/VUT/Ogre
Files:
13 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/VUT/Ogre/include/OgreBspHierarchyInterface.h

    r59 r74  
    2626        void TraverseNode(GtpVisibility::HierarchyNode *node); 
    2727        void RenderNode(GtpVisibility::HierarchyNode *node); 
    28         bool IsLeaf(GtpVisibility::HierarchyNode *node); 
    29         bool HasGeometry(GtpVisibility::HierarchyNode *node); 
     28        bool IsLeaf(GtpVisibility::HierarchyNode *node) const; 
     29        bool HasGeometry(GtpVisibility::HierarchyNode *node) const; 
    3030        bool HasGreaterDistance(GtpVisibility::HierarchyNode *node1,  
    31                                                     GtpVisibility::HierarchyNode *node2); 
     31                                                    GtpVisibility::HierarchyNode *node2) const; 
    3232         
    3333        void SetNodeVisible(GtpVisibility::HierarchyNode *node, const bool visible); 
    34         void SetLastVisited(GtpVisibility::HierarchyNode *node, const int frameId); 
     34        void SetLastVisited(GtpVisibility::HierarchyNode *node,  
     35                                                const unsigned int frameId); 
    3536 
    36         bool IsNodeVisible(GtpVisibility::HierarchyNode *node); 
    37         int LastVisited(GtpVisibility::HierarchyNode *node); 
     37        bool IsNodeVisible(GtpVisibility::HierarchyNode *node) const; 
     38        unsigned int LastVisited(GtpVisibility::HierarchyNode *node) const; 
    3839 
    3940protected: 
  • trunk/VUT/Ogre/include/OgreOctreeHierarchyInterface.h

    r59 r74  
    3333        void TraverseNode(GtpVisibility::HierarchyNode *node); 
    3434        void RenderNode(GtpVisibility::HierarchyNode *node); 
    35         bool IsLeaf(GtpVisibility::HierarchyNode *node); 
    36         bool HasGeometry(GtpVisibility::HierarchyNode *node); 
     35        bool IsLeaf(GtpVisibility::HierarchyNode *node) const; 
     36        bool HasGeometry(GtpVisibility::HierarchyNode *node) const; 
    3737        bool HasGreaterDistance(GtpVisibility::HierarchyNode *node1,  
    38                                                     GtpVisibility::HierarchyNode *node2); 
     38                                                    GtpVisibility::HierarchyNode *node2) const; 
    3939         
    4040        void SetNodeVisible(GtpVisibility::HierarchyNode *node, const bool visible); 
    41         void SetLastVisited(GtpVisibility::HierarchyNode *node, const int frameId); 
     41        void SetLastVisited(GtpVisibility::HierarchyNode *node, const unsigned int frameId); 
    4242 
    43         bool IsNodeVisible(GtpVisibility::HierarchyNode *node); 
    44         int LastVisited(GtpVisibility::HierarchyNode *node); 
     43        bool IsNodeVisible(GtpVisibility::HierarchyNode *node) const; 
     44        unsigned int LastVisited(GtpVisibility::HierarchyNode *node) const; 
    4545 
    4646protected: 
  • trunk/VUT/Ogre/include/OgreSceneNodeHierarchyInterface.h

    r59 r74  
    1919        SceneNodeHierarchyInterface(SceneManager *sm, RenderSystem *rsys); 
    2020         
    21         bool IsLeaf(GtpVisibility::HierarchyNode *node); 
     21        bool IsLeaf(GtpVisibility::HierarchyNode *node) const; 
    2222         
    2323        void TraverseNode(GtpVisibility::HierarchyNode *node); 
    2424        void RenderNode(GtpVisibility::HierarchyNode *node); 
    2525        void PullUpVisibility(GtpVisibility::HierarchyNode *node); 
    26         bool HasGeometry(GtpVisibility::HierarchyNode *node); 
     26        bool HasGeometry(GtpVisibility::HierarchyNode *node) const; 
    2727        bool HasGreaterDistance(GtpVisibility::HierarchyNode *node1,  
    28                                                     GtpVisibility::HierarchyNode *node2); 
     28                                                    GtpVisibility::HierarchyNode *node2) const; 
    2929 
    3030        void SetNodeVisible(GtpVisibility::HierarchyNode *node, const bool visible); 
    31         void SetLastVisited(GtpVisibility::HierarchyNode *node, const int frameId); 
     31        void SetLastVisited(GtpVisibility::HierarchyNode *node,  
     32                                                const unsigned int frameId); 
    3233 
    33         bool IsNodeVisible(GtpVisibility::HierarchyNode *node); 
    34         int LastVisited(GtpVisibility::HierarchyNode *node); 
     34        bool IsNodeVisible(GtpVisibility::HierarchyNode *node) const; 
     35        unsigned int LastVisited(GtpVisibility::HierarchyNode *node) const; 
    3536 
    3637        AxisAlignedBox *GetBoundingBox(GtpVisibility::HierarchyNode *node); 
  • trunk/VUT/Ogre/misc/OgreVisibilitySceneManager.def

    r59 r74  
    1 LIBRARY Plugin_OcclusionCullingSceneManager 
     1LIBRARY Plugin_VisibilitySceneManager 
    22EXPORTS  
    33        dllStartPlugin 
  • trunk/VUT/Ogre/resources/VisibilityDemo.overlay

    r59 r74  
    1 Example/OcclusionCullingDemoOverlay 
     1Example/VisibilityDemoOverlay 
    22{ 
    33        zorder 500 
    44        // Stats block 
    5         container BorderPanel(Example/Occlusion/OcclusionPanel) 
     5        container BorderPanel(Example/Visibility/VisibilityPanel) 
    66        { 
    77                metrics_mode pixels 
     
    2424 
    2525 
    26                 element TextArea(Example/Occlusion/Algorithm) 
     26                element TextArea(Example/Visibility/Algorithm) 
    2727                { 
    2828                        metrics_mode pixels 
     
    3737                        colour_bottom 0.3 0.5 0.3 
    3838                } 
    39                 element TextArea(Example/Occlusion/AlgorithmInfo) 
     39                element TextArea(Example/Visibility/AlgorithmInfo) 
    4040                { 
    4141                        metrics_mode pixels 
     
    5151                } 
    5252 
    53                 element TextArea(Example/Occlusion/Threshold) 
     53                element TextArea(Example/Visibility/Threshold) 
    5454                { 
    5555                        metrics_mode pixels 
     
    6464                        colour_bottom 0.3 0.5 0.3 
    6565                } 
    66                 element TextArea(Example/Occlusion/ThresholdInfo) 
     66                element TextArea(Example/Visibility/ThresholdInfo) 
    6767                { 
    6868                        metrics_mode pixels 
     
    7979        } 
    8080 
    81         container BorderPanel(Example/Occlusion/OcclusionStatsPanel) 
     81        container BorderPanel(Example/Visibility/VisibilityStatsPanel) 
    8282        { 
    8383                metrics_mode pixels 
     
    8787                top 5 
    8888                width 450 
    89                 height 105 
     89                height 90 
    9090                material Core/StatsBlockCenter 
    9191                border_size 1 1 1 1 
     
    100100                border_bottomright_uv 0.9961 0.0039 1.0000 0.0000 
    101101 
    102                 element TextArea(Example/Occlusion/FrustumCulledNodes) 
     102                element TextArea(Example/Visibility/FrustumCulledNodes) 
    103103                { 
    104104                        metrics_mode pixels 
     
    113113                        colour_bottom 0.3 0.5 0.3 
    114114                } 
    115                 element TextArea(Example/Occlusion/FrustumCulledNodesInfo) 
    116                 { 
    117                         metrics_mode pixels 
    118                         left 180 
    119                         top 5 
    120                         width 90 
    121                         height 30 
    122                         font_name TrebuchetMSBold 
    123                         char_height 16 
    124                         caption : 
    125                         colour_top 0.5 0.7 0.5 
    126                         colour_bottom 0.3 0.5 0.3 
    127                 } 
    128                 element TextArea(Example/Occlusion/QueryCulledNodes) 
     115                element TextArea(Example/Visibility/FrustumCulledNodesInfo) 
     116                { 
     117                        metrics_mode pixels 
     118                        left 180 
     119                        top 5 
     120                        width 90 
     121                        height 30 
     122                        font_name TrebuchetMSBold 
     123                        char_height 16 
     124                        caption : 
     125                        colour_top 0.5 0.7 0.5 
     126                        colour_bottom 0.3 0.5 0.3 
     127                } 
     128                element TextArea(Example/Visibility/QueryCulledNodes) 
    129129                { 
    130130                        metrics_mode pixels 
     
    139139                        colour_bottom 0.3 0.5 0.3 
    140140                }        
    141                 element TextArea(Example/Occlusion/QueryCulledNodesInfo) 
    142                 { 
    143                         metrics_mode pixels 
    144                         left 180 
    145                         top 20 
    146                         width 90 
    147                         height 30 
    148                         font_name TrebuchetMSBold 
    149                         char_height 16 
    150                         caption : 
    151                         colour_top 0.5 0.7 0.5 
    152                         colour_bottom 0.3 0.5 0.3 
    153                 } 
    154                 element TextArea(Example/Occlusion/TraversedNodes) 
     141                element TextArea(Example/Visibility/QueryCulledNodesInfo) 
     142                { 
     143                        metrics_mode pixels 
     144                        left 180 
     145                        top 20 
     146                        width 90 
     147                        height 30 
     148                        font_name TrebuchetMSBold 
     149                        char_height 16 
     150                        caption : 
     151                        colour_top 0.5 0.7 0.5 
     152                        colour_bottom 0.3 0.5 0.3 
     153                } 
     154                element TextArea(Example/Visibility/TraversedNodes) 
    155155                { 
    156156                        metrics_mode pixels 
     
    165165                        colour_bottom 0.3 0.5 0.3 
    166166                }        
    167                 element TextArea(Example/Occlusion/TraversedNodesInfo) 
     167                element TextArea(Example/Visibility/TraversedNodesInfo) 
    168168                { 
    169169                        metrics_mode pixels 
     
    178178                        colour_bottom 0.3 0.5 0.3 
    179179                } 
    180                 element TextArea(Example/Occlusion/SceneNodes) 
     180                element TextArea(Example/Visibility/HierarchyNodes) 
    181181                { 
    182182                        metrics_mode pixels 
     
    187187                        font_name TrebuchetMSBold 
    188188                        char_height 16 
    189                         caption Scene Nodes 
    190                         colour_top 0.5 0.7 0.5 
    191                         colour_bottom 0.3 0.5 0.3 
    192                 }        
    193                 element TextArea(Example/Occlusion/SceneNodesInfo) 
     189                        caption Hierarchy Nodes 
     190                        colour_top 0.5 0.7 0.5 
     191                        colour_bottom 0.3 0.5 0.3 
     192                }        
     193                element TextArea(Example/Visibility/HierarchyNodesInfo) 
    194194                { 
    195195                        metrics_mode pixels 
     
    204204                        colour_bottom 0.3 0.5 0.3 
    205205                } 
    206                 element TextArea(Example/Occlusion/HierarchyNodes) 
     206                element TextArea(Example/Visibility/RenderedNodes) 
    207207                { 
    208208                        metrics_mode pixels 
     
    213213                        font_name TrebuchetMSBold 
    214214                        char_height 16 
    215                         caption Hierarchy Nodes 
    216                         colour_top 0.5 0.7 0.5 
    217                         colour_bottom 0.3 0.5 0.3 
    218                 }        
    219                 element TextArea(Example/Occlusion/HierarchyNodesInfo) 
     215                        caption Rendered Nodes 
     216                        colour_top 0.5 0.7 0.5 
     217                        colour_bottom 0.3 0.5 0.3 
     218                }        
     219                element TextArea(Example/Visibility/RenderedNodesInfo) 
    220220                { 
    221221                        metrics_mode pixels 
    222222                        left 180 
    223223                        top 65 
    224                         width 90 
    225                         height 30 
    226                         font_name TrebuchetMSBold 
    227                         char_height 16 
    228                         caption : 
    229                         colour_top 0.5 0.7 0.5 
    230                         colour_bottom 0.3 0.5 0.3 
    231                 } 
    232                 element TextArea(Example/Occlusion/RenderedNodes) 
    233                 { 
    234                         metrics_mode pixels 
    235                         left 5 
    236                         top 80 
    237                         width 180 
    238                         height 30 
    239                         font_name TrebuchetMSBold 
    240                         char_height 16 
    241                         caption Rendered Nodes 
    242                         colour_top 0.5 0.7 0.5 
    243                         colour_bottom 0.3 0.5 0.3 
    244                 }        
    245                 element TextArea(Example/Occlusion/RenderedNodesInfo) 
    246                 { 
    247                         metrics_mode pixels 
    248                         left 180 
    249                         top 80 
    250224                        width 90 
    251225                        height 30 
  • trunk/VUT/Ogre/scripts/Plugin_VisibilitySceneManager.vcproj

    r64 r74  
    4040                                LinkIncremental="2" 
    4141                                SuppressStartupBanner="TRUE" 
    42                                 AdditionalLibraryDirectories=""$(OGRE_PATH)\OgreMain\lib\$(ConfigurationName)";"$(OGRE_PATH)\Dependencies\lib\$(ConfigurationName)";"$(OGRE_PATH)\PlugIns\OctreeSceneManager\bin\$(ConfigurationName)";"$(OGRE_PATH)\Samples\Common\CEGUIRenderer\lib";"$(OGRE_ADDONS_PATH)\dotsceneoctree\PlugIns\DotSceneManager\bin\debug";..\lib\debug;..\..\lib\debug;..\..\GtpVisibility\lib\debug" 
     42                                AdditionalLibraryDirectories=""$(OGRE_PATH)\OgreMain\lib\$(ConfigurationName)";"$(OGRE_PATH)\Dependencies\lib\$(ConfigurationName)";"$(OGRE_PATH)\PlugIns\OctreeSceneManager\bin\$(ConfigurationName)";"$(OGRE_PATH)\Samples\Common\CEGUIRenderer\lib";"$(OGRE_ADDONS_PATH)\dotsceneoctree\PlugIns\DotSceneManager\bin\$(ConfigurationName)";"..\lib\$(ConfigurationName)";"..\..\lib\$(ConfigurationName)";"..\..\GtpVisibility\lib\$(ConfigurationName)"" 
    4343                                ModuleDefinitionFile="..\misc\OgreVisibilitySceneManager.def" 
    4444                                GenerateDebugInformation="TRUE" 
     
    8787                                EnableFiberSafeOptimizations="TRUE" 
    8888                                OptimizeForProcessor="2" 
    89                                 AdditionalIncludeDirectories="..\include;$(OGRE_PATH)\OgreMain\include" 
    90                                 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PLUGIN_OCCLUSIONCULLINGSCENEMANAGER_EXPORTS" 
     89                                AdditionalIncludeDirectories=""$(OGRE_PATH)\PlugIns\OctreeSceneManager\include";"$(OGRE_ADDONS_PATH)\dotsceneoctree\PlugIns\DotSceneManager\include";"$(OGRE_PATH)\Samples\Common\include";"$(OGRE_PATH)\Dependencies\include\CEGUI";"$(OGRE_PATH)\Samples\Common\CEGUIRenderer\include";"$(OGRE_PATH)\OgreMain\include";"$(OGRE_PATH)\Dependencies\include";..\include;..\..\GtpVisibility\include" 
     90                                PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PLUGIN_OCCLUSIONCULLINGSCENEMANAGER_EXPORTS;GTP_VISIBILITY_MODIFIED_OGRE" 
    9191                                StringPooling="TRUE" 
    9292                                RuntimeLibrary="2" 
     
    102102                                Name="VCLinkerTool" 
    103103                                IgnoreImportLibrary="TRUE" 
    104                                 AdditionalDependencies="OgreMain.lib" 
     104                                AdditionalDependencies="OgreMain.lib CEGUIBase.lib OgreGUIRenderer.lib Plugin_OctreeSceneManager.lib GtpVisibility.lib" 
    105105                                OutputFile="$(OutDir)/Plugin_VisibilitySceneManager.dll" 
    106106                                Version="0.99" 
    107107                                LinkIncremental="1" 
    108108                                SuppressStartupBanner="TRUE" 
    109                                 AdditionalLibraryDirectories=""$(OGRE_PATH)\OgreMain\lib\$(ConfigurationName)";"..\..\..\Dependencies\lib\$(ConfigurationName)"" 
     109                                AdditionalLibraryDirectories=""$(OGRE_PATH)\PlugIns\OctreeSceneManager\bin\$(ConfigurationName)";"$(OGRE_PATH)\OgreMain\lib\$(ConfigurationName)";"$(OGRE_ADDONS_PATH)\dotsceneoctree\PlugIns\DotSceneManager\bin\$(ConfigurationName)";"$(OGRE_PATH)\Samples\Common\CEGUIRenderer\lib";"..\..\GtpVisibility\lib\$(ConfigurationName)";"..\..\lib\$(ConfigurationName)";"..\lib\$(ConfigurationName)";"$(OGRE_PATH)\Dependencies\lib\$(ConfigurationName)"" 
    110110                                ModuleDefinitionFile="..\misc\OgreVisibilitySceneManager.def" 
    111111                                GenerateDebugInformation="TRUE" 
     
    144144                        Name="SceneManager_Plugins" 
    145145                        Filter=""> 
     146                        <File 
     147                                RelativePath="..\..\GtpVisibility\include\VisibilityManager.h"> 
     148                        </File> 
    146149                        <Filter 
    147150                                Name="Header Files" 
     
    154157                                </File> 
    155158                                <File 
    156                                         RelativePath="..\include\OgreVisibilityDotSceneManager.h"> 
    157                                 </File> 
    158                                 <File 
    159159                                        RelativePath="..\include\OgreVisibilityOctreeSceneManager.h"> 
    160160                                </File> 
     
    171171                                <File 
    172172                                        RelativePath="..\src\OgreOctreeHierarchyInterface.cpp"> 
    173                                 </File> 
    174                                 <File 
    175                                         RelativePath="..\src\OgreVisibilityDotSceneManager.cpp"> 
    176173                                </File> 
    177174                                <File 
     
    202199                                </File> 
    203200                                <File 
     201                                        RelativePath="..\include\OgreVisibilityOptionsManager.h"> 
     202                                </File> 
     203                                <File 
    204204                                        RelativePath="..\include\OgreVisibilitySceneManager.h"> 
    205205                                </File> 
     
    221221                                </File> 
    222222                                <File 
     223                                        RelativePath="..\src\OgreVisibilityOptionsManager.cpp"> 
     224                                </File> 
     225                                <File 
    223226                                        RelativePath="..\src\OgreVisibilitySceneManager.cpp"> 
     227                                </File> 
     228                                <File 
     229                                        RelativePath="..\src\OgreVisibilitySceneManagerDll.cpp"> 
    224230                                </File> 
    225231                        </Filter> 
  • trunk/VUT/Ogre/src/OgreBspHierarchyInterface.cpp

    r59 r74  
    1616} 
    1717//----------------------------------------------------------------------- 
    18 bool BspHierarchyInterface::IsLeaf(GtpVisibility::HierarchyNode *node) 
     18bool BspHierarchyInterface::IsLeaf(GtpVisibility::HierarchyNode *node) const 
    1919{ 
    2020        return true; 
    2121} 
    2222//----------------------------------------------------------------------- 
    23 bool BspHierarchyInterface::HasGeometry(GtpVisibility::HierarchyNode *node) 
     23bool BspHierarchyInterface::HasGeometry(GtpVisibility::HierarchyNode *node) const 
    2424{ 
    2525        return true; 
     
    2727//----------------------------------------------------------------------- 
    2828bool BspHierarchyInterface::HasGreaterDistance(GtpVisibility::HierarchyNode *node1,  
    29                                                                                            GtpVisibility::HierarchyNode *node2) 
     29                                                                                           GtpVisibility::HierarchyNode *node2) const 
    3030{ 
    3131        return true; 
     
    3737} 
    3838//----------------------------------------------------------------------- 
    39 void BspHierarchyInterface::SetNodeVisible(GtpVisibility::HierarchyNode *node, const bool visible) 
     39void BspHierarchyInterface::SetNodeVisible(GtpVisibility::HierarchyNode *node,  
     40                                                                                   const bool visible) 
    4041{ 
    4142} 
    4243//----------------------------------------------------------------------- 
    43 void BspHierarchyInterface::SetLastVisited(GtpVisibility::HierarchyNode *node, const int frameId) 
     44void BspHierarchyInterface::SetLastVisited(GtpVisibility::HierarchyNode *node,  
     45                                                                                   const unsigned int frameId) 
    4446{ 
    4547} 
     
    5355} 
    5456//----------------------------------------------------------------------- 
    55 bool BspHierarchyInterface::IsNodeVisible(GtpVisibility::HierarchyNode *node) 
     57bool BspHierarchyInterface::IsNodeVisible(GtpVisibility::HierarchyNode *node) const 
    5658{ 
    5759        return true; 
    5860} 
    5961//----------------------------------------------------------------------- 
    60 int BspHierarchyInterface::LastVisited(GtpVisibility::HierarchyNode *node) 
     62unsigned int BspHierarchyInterface::LastVisited(GtpVisibility::HierarchyNode *node) const 
    6163{ 
    6264        return 0; 
  • trunk/VUT/Ogre/src/OgreOctreeHierarchyInterface.cpp

    r59 r74  
    22#include "OgreVisibilityOctreeSceneManager.h" 
    33#include <OgreOctree.h> 
    4 //#include <windows.h> 
     4#include <windows.h> 
    55 
    66namespace Ogre { 
     
    1919        RenderNode(node); 
    2020         
    21         for(int i=0; i<8; i++) 
     21        for(int i=0; i<8; ++i) 
    2222        { 
    2323                Octree *nextChild =  
    2424                        static_cast<Octree *>(node)->mChildren[(i & 4) >> 2][(i & 2) >> 1][i & 1]; 
    2525 
    26                 if(nextChild) 
     26        if (nextChild) 
    2727                { 
    2828                        mDistanceQueue->push(nextChild); 
     
    3131} 
    3232//----------------------------------------------------------------------- 
    33 bool OctreeHierarchyInterface::IsLeaf(GtpVisibility::HierarchyNode *node) 
     33bool OctreeHierarchyInterface::IsLeaf(GtpVisibility::HierarchyNode *node) const 
    3434{ 
    3535        Octree *octant = static_cast<Octree *>(node); 
     
    3737        for(int i=0; i<8; i++) 
    3838        { 
    39                 if(octant->mChildren[(i & 4) >> 2][(i & 2) >> 1][i & 1]) 
     39                if (octant->mChildren[(i & 4) >> 2][(i & 2) >> 1][i & 1]) 
    4040                        return false; 
    4141        } 
     
    4444} 
    4545//----------------------------------------------------------------------- 
    46 bool OctreeHierarchyInterface::HasGeometry(GtpVisibility::HierarchyNode *node) 
     46bool OctreeHierarchyInterface::HasGeometry(GtpVisibility::HierarchyNode *node) const 
    4747{ 
    4848        return static_cast<Octree *>(node)->numNodes() > 0; 
     
    5555//----------------------------------------------------------------------- 
    5656bool OctreeHierarchyInterface::HasGreaterDistance(GtpVisibility::HierarchyNode *node1,  
    57                                                                                                   GtpVisibility::HierarchyNode *node2) 
     57                                                                                                  GtpVisibility::HierarchyNode *node2) const 
    5858{ 
    5959        // matt: change this (inefficient) 
     
    6666} 
    6767//----------------------------------------------------------------------- 
    68 Real OctreeHierarchyInterface::GetSquaredViewDepth(const Camera* cam, const AxisAlignedBox* box) const 
     68Real OctreeHierarchyInterface::GetSquaredViewDepth(const Camera* cam,  
     69                                                                                                   const AxisAlignedBox* box) const 
    6970{ 
    70         Vector3 mid  = ((box->getMinimum() - box->getMaximum()) * 0.5) + box->getMinimum(); 
     71        Vector3 mid = ((box->getMinimum() - box->getMaximum()) * 0.5) + box->getMinimum(); 
    7172        return (cam->getDerivedPosition() - mid).squaredLength();                                                                    
    7273} 
    7374//----------------------------------------------------------------------- 
    74 void OctreeHierarchyInterface::SetNodeVisible(GtpVisibility::HierarchyNode *node, const bool visible) 
     75void OctreeHierarchyInterface::SetNodeVisible(GtpVisibility::HierarchyNode *node,  
     76                                                                                          const bool visible) 
    7577{ 
    7678#ifdef GTP_VISIBILITY_MODIFIED_OGRE 
     
    7981} 
    8082//----------------------------------------------------------------------- 
    81 void OctreeHierarchyInterface::SetLastVisited(GtpVisibility::HierarchyNode *node, const int frameId) 
     83void OctreeHierarchyInterface::SetLastVisited(GtpVisibility::HierarchyNode *node,  
     84                                                                                          const unsigned int frameId) 
    8285{ 
    8386#ifdef GTP_VISIBILITY_MODIFIED_OGRE 
     
    117120} 
    118121//----------------------------------------------------------------------- 
    119 bool OctreeHierarchyInterface::IsNodeVisible(GtpVisibility::HierarchyNode *node) 
     122bool OctreeHierarchyInterface::IsNodeVisible(GtpVisibility::HierarchyNode *node) const 
    120123{ 
    121124#ifdef GTP_VISIBILITY_MODIFIED_OGRE 
     
    126129} 
    127130//----------------------------------------------------------------------- 
    128 int OctreeHierarchyInterface::LastVisited(GtpVisibility::HierarchyNode *node) 
     131unsigned int OctreeHierarchyInterface::LastVisited(GtpVisibility::HierarchyNode *node) const 
    129132{ 
    130133#ifdef GTP_VISIBILITY_MODIFIED_OGRE 
  • trunk/VUT/Ogre/src/OgrePlatformHierarchyInterface.cpp

    r59 r74  
    1010 
    1111//----------------------------------------------------------------------- 
    12 PlatformHierarchyInterface::PlatformHierarchyInterface(SceneManager *sm, RenderSystem *rsys) 
     12PlatformHierarchyInterface::PlatformHierarchyInterface(SceneManager *sm, RenderSystem *rsys): 
     13mSceneManager(sm), mRenderSystem(rsys) 
    1314{                
    1415        mHalfBoundingBox[0] = mHalfBoundingBox[1] = NULL; 
     
    4546                 
    4647                mRenderSystem->_setWorldMatrix(Ogre::Matrix4::IDENTITY); 
    47  
     48                 
    4849                static RenderOperation ro; 
    4950 
    50                 mSceneManager->useRenderableViewProjMode(halfbox); 
     51        mSceneManager->useRenderableViewProjMode(halfbox); 
     52                mSceneManager->setPass(halfbox->getTechnique()->getPass(0)); 
    5153                halfbox->getRenderOperation(ro); 
    5254                ro.srcRenderable = halfbox;  
     
    6668        return mHalfBoundingBox[half];   
    6769} 
    68 //----------------------------------------------------------------------- 
    69 /*void OcclusionHierarchyInterface::setNumHierarchyNodes(int num) 
    70 { 
    71         mNumSceneNodes = num; 
    72 }*/ 
    7370//----------------------------------------------------------------------- 
    7471void PlatformHierarchyInterface::SetCamera(Ogre::Camera *cam) 
  • trunk/VUT/Ogre/src/OgreSceneNodeHierarchyInterface.cpp

    r59 r74  
    4949} 
    5050//----------------------------------------------------------------------- 
    51 bool SceneNodeHierarchyInterface::IsLeaf(GtpVisibility::HierarchyNode *node) 
     51bool SceneNodeHierarchyInterface::IsLeaf(GtpVisibility::HierarchyNode *node) const 
    5252{ 
    5353        return (static_cast<SceneNode *>(node)->numChildren() == 0); 
    5454} 
    5555//----------------------------------------------------------------------- 
    56 bool SceneNodeHierarchyInterface::HasGeometry(GtpVisibility::HierarchyNode *node) 
     56bool SceneNodeHierarchyInterface::HasGeometry(GtpVisibility::HierarchyNode *node) const 
    5757{ 
    5858        SceneNode *sceneNode = static_cast<SceneNode *>(node); 
     
    7575//----------------------------------------------------------------------- 
    7676bool SceneNodeHierarchyInterface::HasGreaterDistance(GtpVisibility::HierarchyNode *node1,  
    77                                                                                                          GtpVisibility::HierarchyNode *node2) 
     77                                                                                                         GtpVisibility::HierarchyNode *node2) const 
    7878{ 
    7979        SceneNode *sceneNode1 = static_cast<SceneNode *>(node1); 
     
    9292} 
    9393//----------------------------------------------------------------------- 
    94 void SceneNodeHierarchyInterface::SetLastVisited(GtpVisibility::HierarchyNode *node, const int frameId) 
     94void SceneNodeHierarchyInterface::SetLastVisited(GtpVisibility::HierarchyNode *node,  
     95                                                                                                 const unsigned int frameId) 
    9596{ 
    9697#ifdef GTP_VISIBILITY_MODIFIED_OGRE 
     
    100101} 
    101102//----------------------------------------------------------------------- 
    102 bool SceneNodeHierarchyInterface::IsNodeVisible(GtpVisibility::HierarchyNode *node) 
     103bool SceneNodeHierarchyInterface::IsNodeVisible(GtpVisibility::HierarchyNode *node) const 
    103104{ 
    104105#ifdef GTP_VISIBILITY_MODIFIED_OGRE 
     
    110111} 
    111112//----------------------------------------------------------------------- 
    112 int SceneNodeHierarchyInterface::LastVisited(GtpVisibility::HierarchyNode *node) 
     113unsigned int SceneNodeHierarchyInterface::LastVisited(GtpVisibility::HierarchyNode *node) const 
    113114{ 
    114115#ifdef GTP_VISIBILITY_MODIFIED_OGRE 
  • trunk/VUT/Ogre/src/OgreVisibilityOctreeSceneManager.cpp

    r59 r74  
    11#include "OgreVisibilityOctreeSceneManager.h" 
     2#include "OgreVisibilityOptionsManager.h" 
    23#include <OgreMath.h> 
    34#include <OgreIteratorWrappers.h> 
     
    1718 
    1819        //mDisplayNodes = true; 
    19         //mShowBoundingBoxes = true; 
    20         //mShowBoxes = true; 
     20        mShowBoundingBoxes = true; 
     21        mShowBoxes = true; 
    2122        //mMaxDepth = 20; 
    2223} 
     
    4546        setSpecialCaseRenderQueueMode(SceneManager::SCRQM_EXCLUDE); 
    4647 
    47         mHierarchyInterface->InitFrame(mSceneRoot, mCameraInProgress); 
     48        mHierarchyInterface->InitFrame(mOctree, mCameraInProgress); 
    4849        mVisibilityManager->ApplyVisibilityCulling(); 
    4950 
     
    6667void VisibilityOctreeSceneManager::_updateSceneGraph(Camera* cam) 
    6768{ 
    68         //mOcclusionOctreeHierarchyInterface->setNumSceneNodes((int)mSceneNodes.size()); 
    6969        mVisibilityManager->GetCullingManager()->SetHierarchyInterface(mHierarchyInterface); 
    7070        mHierarchyInterface->SetRenderSystem(mDestRenderSystem); 
     
    7878bool VisibilityOctreeSceneManager::setOption(const String & key, const void * val) 
    7979{ 
    80         return /*mVisibilitySceneTraverser->setOption( key, val) || */OctreeSceneManager::setOption( key, val ); 
     80        return VisibilityOptionsManager(mVisibilityManager, mHierarchyInterface). 
     81                setOption(key, val) || OctreeSceneManager::setOption(key, val); 
    8182} 
    8283//----------------------------------------------------------------------- 
    8384bool VisibilityOctreeSceneManager::getOption(const String & key, void *val) 
    8485{ 
    85         return /*mVisibilitySceneTraverser->getOption( key, val) || */OctreeSceneManager::getOption(key, val); 
     86        if (key == "NumHierarchyNodes") 
     87        { 
     88                * static_cast<unsigned int *>(val) = (unsigned int)mNumOctreeNodes; 
     89                return true; 
     90        } 
     91 
     92        return VisibilityOptionsManager(mVisibilityManager, mHierarchyInterface). 
     93                getOption(key, val) && OctreeSceneManager::getOption(key, val); 
    8694} 
    8795//----------------------------------------------------------------------- 
     
    93101bool VisibilityOctreeSceneManager::getOptionKeys(StringVector & refKeys) 
    94102{ 
    95         return /*mVisibilitySceneTraverser->getOptionKeys ( refKeys ) || */OctreeSceneManager::getOptionKeys(refKeys); 
     103        return  VisibilityOptionsManager(mVisibilityManager, mHierarchyInterface). 
     104                getOptionKeys ( refKeys ) || OctreeSceneManager::getOptionKeys(refKeys); 
    96105} 
    97106//----------------------------------------------------------------------- 
  • trunk/VUT/Ogre/src/OgreVisibilitySceneManager.cpp

    r59 r74  
    55#include "OgreVisibilitySceneManager.h" 
    66#include "OgreSceneNodeHierarchyInterface.h" 
     7#include "OgreVisibilityOptionsManager.h" 
    78 
    89//#include <windows.h> 
     
    4546 
    4647        mHierarchyInterface->InitFrame(mSceneRoot, mCameraInProgress); 
    47  
    4848        mVisibilityManager->ApplyVisibilityCulling(); 
    4949 
     
    6161void VisibilitySceneManager::_updateSceneGraph(Camera* cam) 
    6262{ 
    63         //mVisibilitySceneTraverser->setNumSceneNodes((int)mSceneNodes.size()); 
    6463        mVisibilityManager->GetCullingManager()->SetHierarchyInterface(mHierarchyInterface); 
    6564        mHierarchyInterface->SetRenderSystem(mDestRenderSystem); 
    6665         
    67         //mVisibilitySceneTraverser->setNumQueries((int)mSceneNodes.size()); 
    68          
    6966        SceneManager::_updateSceneGraph(cam); 
    7067} 
     
    7269bool VisibilitySceneManager::setOption(const String & key, const void * val) 
    7370{ 
    74         //mVisibilitySceneTraverser->setOption(key, val);        
    75         return SceneManager::setOption(key, val); 
     71        return VisibilityOptionsManager(mVisibilityManager, mHierarchyInterface). 
     72                setOption(key, val) || SceneManager::setOption(key, val); 
    7673} 
    7774//----------------------------------------------------------------------- 
    7875bool VisibilitySceneManager::getOption(const String & key, void *val) 
    7976{ 
    80         //mVisibilitySceneTraverser->getOption(key, val); 
     77        if (key == "NumHierarchyNodes") 
     78        { 
     79                * static_cast<unsigned int *>(val) = (unsigned int)mSceneNodes.size(); 
     80                return true; 
     81        } 
    8182         
    82         return SceneManager::getOption(key, val); 
     83        return VisibilityOptionsManager(mVisibilityManager, mHierarchyInterface). 
     84                getOption(key, val) && SceneManager::getOption(key, val); 
    8385} 
    8486//----------------------------------------------------------------------- 
     
    9092bool VisibilitySceneManager::getOptionKeys(StringVector & refKeys) 
    9193{ 
    92         SceneManager::getOptionKeys(refKeys); 
    93         //mVisibilitySceneTraverser->getOptionKeys( refKeys ); 
    94  
    95         return true; 
     94        return VisibilityOptionsManager(mVisibilityManager, mHierarchyInterface). 
     95                getOptionKeys(refKeys) || SceneManager::getOptionKeys(refKeys); 
    9696} 
    9797//----------------------------------------------------------------------- 
  • trunk/VUT/Ogre/src/OgreVisibilitySceneManagerDll.cpp

    r59 r74  
    2424*/ 
    2525 
    26 #include <OgreOcclusionCullingTerrainSceneManager.h> 
    27 #include <OgreOcclusionCullingOctreeSceneManager.h> 
    28 //#include <OgreOcclusionCullingDotSceneManager.h> 
     26#include <OgreVisibilityTerrainSceneManager.h> 
     27#include <OgreVisibilityOctreeSceneManager.h> 
     28//#include <OgreVisibilityDotSceneManager.h> 
    2929#include <OgreHeightmapTerrainPageSource.h> 
    30 #include "GtpVisibilityManager.h" 
    31 #include "GtpVisibilityStopAndWaitManager.h" 
    32 #include "GtpVisibilityEnvironment.h" 
     30#include "VisibilityManager.h" 
     31#include "StopAndWaitCullingManager.h" 
     32#include "VisibilityEnvironment.h" 
    3333 
    3434#include <OgreRoot.h> 
    3535 
    3636//#include <windows.h> 
    37 GtpVisibility::Environment *visEnv; 
    38 GtpVisibility::Manager *visManager; 
     37GtpVisibility::VisibilityEnvironment *visEnv; 
     38GtpVisibility::VisibilityManager *visManager; 
    3939 
    4040namespace Ogre { 
    4141 
    42 // OcclusionCullingDotSceneManager *occlusionDotPlugin; 
    43 OcclusionCullingOctreeSceneManager *cullingOctreePlugin; 
    44 OcclusionCullingTerrainSceneManager *cullingTerrainPlugin; 
     42// VisibilityDotSceneManager *occlusionDotPlugin; 
     43VisibilityOctreeSceneManager *cullingOctreePlugin; 
     44VisibilityTerrainSceneManager *cullingTerrainPlugin; 
    4545 
    4646HeightmapTerrainPageSource *heightmapTerrainPageSource; 
     
    4949extern "C" void dllStartPlugin(void) 
    5050{ 
    51         visManager = new GtpVisibility::Manager(visEnv); 
     51        visManager = new GtpVisibility::VisibilityManager(visEnv); 
    5252        // Create new scene manager 
    53         //occlusionDotPlugin = new OcclusionCullingDotSceneManager(); 
    54         cullingOctreePlugin = new OcclusionCullingOctreeSceneManager(visManager); 
    55         cullingTerrainPlugin = new OcclusionCullingTerrainSceneManager(visManager); 
     53        //occlusionDotPlugin = new VisibilityDotSceneManager(); 
     54        cullingOctreePlugin = new VisibilityOctreeSceneManager(visManager); 
     55        cullingTerrainPlugin = new VisibilityTerrainSceneManager(visManager); 
    5656        heightmapTerrainPageSource = new HeightmapTerrainPageSource(); 
    5757 
  • trunk/VUT/Ogre/src/OgreVisibilityTerrainSceneManager.cpp

    r59 r74  
    11#include "OgreVisibilityTerrainSceneManager.h" 
    22#include "OgreOctreeHierarchyInterface.h" 
     3#include "OgreVisibilityOptionsManager.h" 
    34#include <OgreMath.h> 
    45#include <OgreIteratorWrappers.h> 
     
    1819 
    1920        setVisibilityManager(visManager); 
    20         //mShowBoxes = true; 
     21        mShowBoxes = true; 
    2122        //mDisplayNodes = true; 
    22         //mShowBoundingBoxes = true; 
     23        mShowBoundingBoxes = true; 
    2324        mMaxDepth = 20; 
    2425} 
     
    4748        setSpecialCaseRenderQueueMode(SceneManager::SCRQM_EXCLUDE); 
    4849 
    49         mHierarchyInterface->InitFrame(mSceneRoot, mCameraInProgress); 
     50        mHierarchyInterface->InitFrame(mOctree, mCameraInProgress); 
     51        mVisibilityManager->ApplyVisibilityCulling(); 
    5052 
    51         mVisibilityManager->ApplyVisibilityCulling(); 
    5253#ifdef GTP_VISIBILITY_MODIFIED_OGRE 
    5354        _deleteRenderedQueueGroups(); 
     
    7071        mVisibilityManager->GetCullingManager()->SetHierarchyInterface(mHierarchyInterface); 
    7172        mHierarchyInterface->SetRenderSystem(mDestRenderSystem); 
     73 
    7274#ifdef GTP_VISIBILITY_MODIFIED_OGRE 
    7375    mHierarchyInterface->SetNumOctreeNodes(mNumOctreeNodes); 
     
    7880bool VisibilityTerrainSceneManager::setOption(const String & key, const void * val) 
    7981{ 
    80         return /*mOcclusionOctreeHierarchyInterface->setOption( key, val) || */TerrainSceneManager::setOption( key, val ); 
     82        return VisibilityOptionsManager(mVisibilityManager, mHierarchyInterface). 
     83                setOption(key, val) || TerrainSceneManager::setOption(key, val); 
    8184} 
    8285//----------------------------------------------------------------------- 
    8386bool VisibilityTerrainSceneManager::getOption(const String & key, void *val) 
    8487{ 
    85         return /*mOcclusionOctreeHierarchyInterface->getOption( key, val) || */TerrainSceneManager::getOption( key, val ) ; 
     88        if (key == "NumHierarchyNodes") 
     89        { 
     90                * static_cast<unsigned int *>(val) = (unsigned int)mNumOctreeNodes; 
     91                return true; 
     92        } 
     93         
     94        return VisibilityOptionsManager(mVisibilityManager, mHierarchyInterface). 
     95                getOption(key, val) && TerrainSceneManager::getOption(key, val); 
    8696} 
    8797//----------------------------------------------------------------------- 
    8898bool VisibilityTerrainSceneManager::getOptionValues(const String & key, StringVector  &refValueList) 
    8999{ 
    90         return TerrainSceneManager::getOptionValues( key, refValueList ); 
     100        return TerrainSceneManager::getOptionValues( key, refValueList); 
    91101} 
    92102//----------------------------------------------------------------------- 
    93103bool VisibilityTerrainSceneManager::getOptionKeys(StringVector & refKeys) 
    94104{ 
    95         return /*mOcclusionOctreeHierarchyInterface->getOptionKeys ( refKeys ) ||*/ TerrainSceneManager::getOptionKeys( refKeys ); 
     105        return VisibilityOptionsManager(mVisibilityManager, mHierarchyInterface). 
     106                getOptionKeys(refKeys) || TerrainSceneManager::getOptionKeys(refKeys); 
    96107} 
    97108//----------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.