Changeset 971


Ignore:
Timestamp:
05/22/06 07:53:18 (18 years ago)
Author:
mattausch
Message:

added stuff for view cell ziping (not working yet!)

Location:
GTP/trunk/Lib/Vis
Files:
4 added
18 edited

Legend:

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

    r955 r971  
    10331033                mVisibilityManager->GetVisibilityEnvironment()->GetPreprocessorEnvironment(); 
    10341034 
     1035        if (!env) 
     1036        { 
     1037        std::stringstream d; 
     1038                d << "here454 error loading view cells: no view cells environment " << endl; 
     1039                LogManager::getSingleton().logMessage(d.str()); 
     1040        } 
     1041 
     1042        std::stringstream d; 
     1043        d << "filename999: " << filename.c_str(); 
     1044        LogManager::getSingleton().logMessage(d.str()); 
     1045 
    10351046        // load the view cells assigning the found objects to the pvss 
    10361047        mViewCellsManager =  
     
    10401051        { 
    10411052                std::stringstream d; 
    1042                 d << "error loading view cells" << endl; 
     1053                d << "here344 error loading view cells: no view cells manager " << endl; 
    10431054                LogManager::getSingleton().logMessage(d.str()); 
    10441055        } 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreVisibilitySceneManagerDll.cpp

    r938 r971  
    4949        // load visibility environment 
    5050        visEnv = new GtpVisibility::VisibilityEnvironment(); 
    51         //visEnv->LoadEnvironment("simple.env"); 
    5251        visManager = new GtpVisibility::VisibilityManager(visEnv); 
    5352 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/src/VisibilityEnvironment.cpp

    r944 r971  
    99VisibilityEnvironment::VisibilityEnvironment() 
    1010{ 
    11         // load debug stream 
     11        // HACK: loading debug stream should not happen here 
    1212        GtpVisibilityPreprocessor::Debug.open("debug.log"); 
    13  
    1413        // load environment 
    1514        mEnvironment = new GtpVisibilityPreprocessor::Environment();      
     
    2221//----------------------------------------------------------------------- 
    2322bool VisibilityEnvironment::LoadEnvironment(string filename) 
    24 {        
    25         //-- parse filename into c-style argument list 
    26         /*char argc = 2; 
    27         char *argv[2]; 
    28         argv[0] = ""; 
    29          
    30         char fname[200]; 
    31         sprintf(fname, "%s", filename.c_str()); 
    32         argv[1] = fname; 
    33  
    34         GtpVisibilityPreprocessor::Debug << "loading environment from: " << argv[1] << endl; 
    35         return GtpVisibilityPreprocessor::environment->Parse(argc, argv, false); 
    36 */ 
     23{                
    3724        //-- parse environment 
    3825        return mEnvironment->ReadEnvFile(filename.c_str()); 
  • GTP/trunk/Lib/Vis/Preprocessing/scripts/Preprocessor.vcproj

    r931 r971  
    183183                        </File> 
    184184                        <File 
     185                                RelativePath="..\src\GzBinFileInputStream.cpp"> 
     186                        </File> 
     187                        <File 
     188                                RelativePath="..\src\GzBinFileInputStream.h"> 
     189                        </File> 
     190                        <File 
     191                                RelativePath="..\src\GzFileInputSource.cpp"> 
     192                        </File> 
     193                        <File 
     194                                RelativePath="..\src\GzFileInputSource.h"> 
     195                        </File> 
     196                        <File 
    185197                                RelativePath="..\src\gzstream.cpp"> 
    186198                        </File> 
  • GTP/trunk/Lib/Vis/Preprocessing/scripts/generate_viewcells.env

    r955 r971  
    261261#       filename ../data/vienna/viewcells-large-sel.x3d 
    262262#       filename ../scripts/viewcells_vienna.xml 
    263         filename D:/svn/gametools/GTP/trunk/Lib/Vis/Preprocessing/scripts/vienna-visibility.xml 
     263        filename E:/svn/gametools/GTP/trunk/Lib/Vis/Preprocessing/scripts/vienna-visibility.xml 
    264264} 
    265265 
  • GTP/trunk/Lib/Vis/Preprocessing/src/Environment.cpp

    r938 r971  
    804804bool 
    805805Environment::ReadEnvFile(const char *envFilename) 
    806 { 
     806{Debug << "here222 " << envFilename << endl; 
    807807  char buff[MaxStringLength], name[MaxStringLength]; 
    808808  char *s, *t; 
     
    817817    return false; 
    818818  } 
    819    
     819 
    820820  name[0] = '\0'; 
    821821 
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCell.cpp

    r955 r971  
    19451945} 
    19461946 
    1947  
     1947#if ZIPPED_VIEWCELLS 
     1948bool ViewCellsTree::Export(ogzstream &stream, const bool exportPvs) 
     1949#else 
    19481950bool ViewCellsTree::Export(ofstream &stream, const bool exportPvs) 
    1949 //bool ViewCellsTree::Export(ogzstream &stream, const bool exportPvs) 
     1951#endif 
    19501952{ 
    19511953        // export recursivly all view cells from the root 
     
    19831985} 
    19841986 
    1985  
    1986 //void ViewCellsTree::ExportPvs(ViewCell *viewCell, ogzstream &stream) 
     1987#if ZIPPED_VIEWCELLS 
     1988void ViewCellsTree::ExportPvs(ViewCell *viewCell, ogzstream &stream) 
     1989#else 
    19871990void ViewCellsTree::ExportPvs(ViewCell *viewCell, ofstream &stream) 
     1991#endif 
    19881992{ 
    19891993        ObjectPvsMap::iterator it, it_end = viewCell->GetPvs().mEntries.end(); 
     
    19951999} 
    19962000 
    1997  
     2001#if ZIPPED_VIEWCELLS 
     2002void ViewCellsTree::ExportViewCell(ViewCell *viewCell, ogzstream &stream, const bool exportPvs) 
     2003#else 
    19982004void ViewCellsTree::ExportViewCell(ViewCell *viewCell, ofstream &stream, const bool exportPvs) 
    1999 //void ViewCellsTree::ExportViewCell(ViewCell *viewCell, ogzstream &stream, const bool exportPvs) 
     2005#endif 
    20002006{ 
    20012007        if (viewCell->IsLeaf()) 
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCell.h

    r955 r971  
    77#include "Statistics.h" 
    88#include "Material.h" 
    9 //#include "bzip2stream.hpp" 
    109#include "gzstream.h" 
    1110 
    12 //class ogzstream; 
    1311 
    1412namespace GtpVisibilityPreprocessor { 
     
    440438        /** Exports view cells to file. 
    441439        */ 
     440#if ZIPPED_VIEWCELLS 
     441        bool Export(ogzstream &stream, const bool exportPvs = false); 
     442#else 
    442443        bool Export(ofstream &stream, const bool exportPvs = false); 
    443     //bool Export(ogzstream &stream, const bool exportPvs = false); 
     444#endif 
    444445 
    445446        /** Export statistics of this view cell tree. 
     
    545546                NOTE: should be in exporter!! 
    546547        */ 
    547         void ExportViewCell(ViewCell *viewCell, ofstream &stream, const bool exportPvs); 
    548         //void ExportViewCell(ViewCell *viewCell, ogzstream &stream, const bool exportPvs); 
     548#if ZIPPED_VIEWCELLS 
     549        void ExportViewCell(ViewCell *viewCell, ogzstream &stream, const bool exportPvs); 
     550#else 
     551        void ExportViewCell(ViewCell *viewCell, ofstream &stream, const bool exportPvs);         
     552#endif 
    549553 
    550554        /** Exports pvs of a view cell. 
    551555        */ 
     556#if ZIPPED_VIEWCELLS 
     557        void ExportPvs(ViewCell *viewCell, ogzstream &stream); 
     558#else 
    552559        void ExportPvs(ViewCell *viewCell, ofstream &stream); 
    553         //void ExportPvs(ViewCell *viewCell, ogzstream &stream); 
    554  
     560#endif 
    555561 
    556562 
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsManager.cpp

    r955 r971  
    47154715 
    47164716        ViewCellsManager *vm = NULL; 
    4717  
     4717Debug << "here98 " << filename << endl; 
    47184718        if (parser.ParseFile(filename, &vm, objects, bconverter, env)) 
    47194719        { 
     
    47524752        cout << "exporting view cells to xml ... "; 
    47534753         
    4754         //ogzstream stream(filename.c_str()); 
     4754#if ZIPPED_VIEWCELLS 
     4755        ogzstream stream(filename.c_str()); 
     4756        cout << "!!!!!!!!!!!!!!!!!!!!!!" << endl; 
     4757#else 
    47554758        std::ofstream stream(filename.c_str()); 
     4759#endif 
    47564760 
    47574761        // for output we need unique ids for each view cell 
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsParser.cpp

    r955 r971  
    3030#include "VspKdTree.h" 
    3131#include "ViewCellsManager.h" 
     32#include "GzFileInputSource.h" 
    3233 
    3334namespace GtpVisibilityPreprocessor { 
     
    8283  , mBoundingBoxConverter(bconverter) 
    8384  , mEnvironment(env) 
    84 { 
     85{Debug << "here22" << endl; 
    8586        // mObjects = objects; 
    8687} 
     
    126127        // go one up in the tree 
    127128        if (mCurrentBspNode->GetParent()) 
    128         {       cout << "]"; 
     129        {       Debug << "]"; 
    129130                mCurrentBspNode = mCurrentBspNode->GetParent(); 
    130131        } 
     
    136137        // go one up in the tree 
    137138        if (mCurrentViewCell->GetParent()) 
    138         {       cout << "]"; 
     139        {       Debug << "]"; 
    139140                mCurrentViewCell = mCurrentViewCell->GetParent(); 
    140141        } 
     
    195196        if (element == "Interior")  
    196197        { 
    197                 cout << "["; 
     198                Debug << "["; 
    198199                StartBspInterior(attributes); 
    199200        } 
     
    201202        if (element == "Leaf")  
    202203        { 
    203                 cout << "l"; 
     204                Debug << "l"; 
    204205                StartBspLeaf(attributes); 
    205206        } 
     
    209210void ViewCellsParseHandlers::startElement(const XMLCh* const name, 
    210211                                                                                  AttributeList& attributes) 
    211 { 
     212{       Debug << "here722" << endl; 
    212213        StrX lname(name); 
    213214        string element(lname.LocalForm()); 
    214          
     215 
    215216        // decides the used view cell hierarchy 
    216217        if (element == "ViewCells") 
    217218        { 
    218                 cout << "parsing view cells" << endl; 
     219                Debug << "parsing view cells" << endl; 
    219220                mParseViewCells = true; 
    220221        } 
     
    222223        if (element == "Hierarchy") 
    223224        { 
    224                 cout << "parsing spatial hierarchy" << endl; 
     225                Debug << "parsing spatial hierarchy" << endl; 
    225226                mParseViewCells = false; 
    226227                StartHierarchy(attributes); 
     
    230231        if (element == "ViewSpaceBox") 
    231232        { 
    232                 cout << "v"; 
     233                Debug << "v"; 
    233234                StartViewSpaceBox(attributes); 
    234235        } 
     
    237238        if (element == "BoundingBox") 
    238239        { 
    239                 cout << "b"; 
     240                Debug << "b"; 
    240241                StartBoundingBox(attributes); 
    241242        } 
     
    263264                if (element == "Interior")  
    264265                { 
    265                         cout << "["; 
     266                        Debug << "["; 
    266267                        StartViewCellInterior(attributes); 
    267268                } 
     
    269270                if (element == "Leaf")  
    270271                { 
    271                         cout << "l"; 
     272                        Debug << "l"; 
    272273                        StartViewCellLeaf(attributes); 
    273274                } 
     
    719720    } 
    720721   
    721    
     722  Debug << "here2" << endl; 
    722723  // 
    723724  //  Create a SAX parser object. Then, according to what we were told on 
     
    754755      { 
    755756        const unsigned long startMillis = XMLPlatformUtils::getCurrentMillis(); 
     757#if ZIPPED_VIEWCELLS 
     758        XMLCh *myFilePath = XMLString::transcode(filename.c_str()); 
     759         
     760        GzFileInputSource isource(myFilePath); 
     761        Debug << "here4" << endl; 
     762        parser->parse(isource); 
     763 
     764#else 
    756765        parser->parse(filename.c_str()); 
    757         //ogzstream stream; parser->parse(stream); 
     766#endif 
     767 
    758768        const unsigned long endMillis = XMLPlatformUtils::getCurrentMillis(); 
    759769        duration = endMillis - startMillis; 
  • GTP/trunk/Lib/Vis/Preprocessing/src/VspBspTree.cpp

    r955 r971  
    38443844} 
    38453845 
    3846  
     3846#if ZIPPED_VIEWCELLS 
     3847bool VspBspTree::Export(ogzstream &stream) 
     3848#else 
    38473849bool VspBspTree::Export(ofstream &stream) 
    3848 //bool VspBspTree::Export(ogzstream &stream) 
     3850#endif 
    38493851{ 
    38503852        ExportNode(mRoot, stream); 
     
    38533855} 
    38543856 
    3855  
     3857#if ZIPPED_VIEWCELLS 
     3858void VspBspTree::ExportNode(BspNode *node, ogzstream &stream) 
     3859#else 
    38563860void VspBspTree::ExportNode(BspNode *node, ofstream &stream) 
    3857 //void VspBspTree::ExportNode(BspNode *node, ogzstream &stream) 
     3861#endif 
    38583862{ 
    38593863        if (node->IsLeaf()) 
  • GTP/trunk/Lib/Vis/Preprocessing/src/VspBspTree.h

    r955 r971  
    327327        /** Writes tree to output stream 
    328328        */ 
    329         //bool Export(ogzstream &stream); 
     329#if ZIPPED_VIEWCELLS 
     330        bool Export(ogzstream &stream); 
     331#else 
    330332        bool Export(ofstream &stream); 
     333#endif 
    331334 
    332335        /** Casts beam, i.e. a 5D frustum of rays, into tree. 
     
    696699                @note: should be implemented as visitor. 
    697700        */ 
     701#if ZIPPED_VIEWCELLS 
     702        void ExportNode(BspNode *node, ogzstream &stream); 
     703#else 
    698704        void ExportNode(BspNode *node, ofstream &stream); 
    699         //void ExportNode(BspNode *node, ogzstream &stream); 
     705#endif 
    700706 
    701707        /** Returns estimated memory usage of tree. 
  • GTP/trunk/Lib/Vis/Preprocessing/src/X3dParser.cpp

    r870 r971  
    1414#include <xercesc/parsers/SAXParser.hpp> 
    1515#include <xercesc/util/OutOfMemoryException.hpp> 
    16  
     16#include <xercesc/util/BinFileInputStream.hpp> 
    1717// --------------------------------------------------------------------------- 
    1818//  Includes 
     
    3232namespace GtpVisibilityPreprocessor { 
    3333 
     34float X3dParser::DEFAULT_VIEWCELL_HEIGHT = 5.0f; 
    3435 
    3536// --------------------------------------------------------------------------- 
     
    537538} 
    538539 
     540/*************************************************************************/ 
     541/*                     X3dParser implementation                          */ 
     542/*******************+*****************************************************/ 
     543 
     544X3dParser::X3dParser(): 
     545mViewCellHeight(DEFAULT_VIEWCELL_HEIGHT)  
     546{} 
    539547 
    540548bool 
     
    916924      { 
    917925        const unsigned long startMillis = XMLPlatformUtils::getCurrentMillis(); 
     926        //GzBinFileInputStream str(filename.c_str()); 
     927         
    918928        parser->parse(filename.c_str()); 
    919929        const unsigned long endMillis = XMLPlatformUtils::getCurrentMillis(); 
     
    960970} 
    961971 
    962 } 
     972 
     973 
     974 
     975} 
  • GTP/trunk/Lib/Vis/Preprocessing/src/X3dParser.h

    r863 r971  
    1212{ 
    1313public: 
    14         X3dParser():Parser(), mViewCellHeight(5.0f) {} 
     14         
     15        X3dParser(); 
    1516   
    1617        bool ParseFile(const string filename, SceneGraphNode **root, const bool loadPolygonsAsMeshes = false); 
     
    1920        /// height of a loaded view cell 
    2021        float mViewCellHeight; 
     22 
     23        static float DEFAULT_VIEWCELL_HEIGHT; 
    2124}; 
    2225 
  • GTP/trunk/Lib/Vis/Preprocessing/src/X3dParserXerces.h

    r860 r971  
    2020class Material; 
    2121class ViewCellsManager; 
     22 
    2223 
    2324struct ltstr 
  • GTP/trunk/Lib/Vis/Preprocessing/src/common.h

    r865 r971  
    483483} 
    484484 
    485 #endif 
    486  
    487  
    488  
    489  
    490  
    491  
    492  
    493  
    494  
    495  
    496  
     485// if the view cells should be exported and inported as gzstream 
     486#define ZIPPED_VIEWCELLS 1 
     487 
     488#endif 
     489 
     490 
     491 
     492 
     493 
     494 
     495 
     496 
     497 
     498 
     499 
Note: See TracChangeset for help on using the changeset viewer.