Ignore:
Timestamp:
03/18/08 19:28:00 (17 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/src/GvsPreprocessor.cpp

    r2643 r2648  
    2020   
    2121#define GVS_DEBUG 0 
    22 static ObjectContainer myobjects; 
    2322 
    2423struct VizStruct 
     
    3231static const float MIN_DIST = 0.001f; 
    3332 
     33static ObjectContainer myobjects; 
    3434static vector<VizStruct> vizContainer; 
     35 
    3536 
    3637GvsPreprocessor::GvsPreprocessor():  
     
    7879        mGvsStats.Reset(); 
    7980 
     81        // hack: some generic statistical values that can be read 
     82        // by an application using the preprocessor 
    8083        mGenericStats = 0; 
    8184        mGenericStats2 = 0; 
     
    105108ViewCell *GvsPreprocessor::NextViewCell() 
    106109{ 
    107         //if (mViewCellsManager->GetNumViewCells() == mProcessedViewCells) 
    108         //      return false; // no more view cells 
    109  
    110110        if (mProcessedViewCells == (int)mViewCells.size()) 
    111111                return NULL; // no more view cells 
     
    440440 
    441441        const int numBorderSamples = (int)vssRays.size() - numRandomRays; 
     442 
     443#if 0 
    442444        // set flags 
    443         /*VssRayContainer::const_iterator rit, rit_end = vssRays.end(); 
     445        VssRayContainer::const_iterator rit, rit_end = vssRays.end(); 
    444446        for (rit = vssRays.begin(); rit != rit_end; ++ rit, ++ i) 
    445447                (*rit)->mFlags |= VssRay::BorderSample; 
    446                 */ 
     448#endif 
     449 
    447450        int castRays = (int)simpleRays.size(); 
    448451 
    449452        VssRayContainer invalidSamples; 
    450  
    451453 
    452454        // handle rays 
     
    783785        int oldContribution = mGvsStats.mTotalContribution; 
    784786        int passSamples = 0; 
     787 
    785788        mGenericStats = 0; 
    786789        mGenericStats2 = 0; 
     
    831834void GvsPreprocessor::CompileViewCellsList() 
    832835{ 
     836        // Receive list of view cells from view cells manager 
    833837        ViewCellPointsList *vcPoints = mViewCellsManager->GetViewCellPointsList(); 
    834  
    835          
    836         int i = 0; 
    837  
     838         
    838839        if (!vcPoints->empty()) 
    839840        { 
     
    843844 
    844845                for (vit = vcPoints->begin(); vit != vit_end; ++ vit) 
    845                 {//cout << i ++ << " " << (*vit)->first->GetId() << endl; 
     846                { 
    846847                        mViewCells.push_back((*vit)->first); 
    847848                } 
     
    941942 
    942943 
    943  
    944944void GvsPreprocessor::PerViewCellComputation() 
    945945{ 
     
    954954                        (*oit)->mCounter = 0; 
    955955 
    956                 ComputeViewCell(vc); 
     956        ComputeViewCell(vc); 
    957957        } 
    958958} 
     
    11241124#endif 
    11251125 
    1126         mGvsStats.Stop(); 
    1127         mGvsStats.Print(mGvsStatsStream); 
    1128  
    11291126        if (mPerViewCell) 
    11301127        { 
    1131 #if 0 
     1128#if 1 
    11321129                // provide list of view cells to compute 
    11331130                CompileViewCellsList(); 
    1134  
    11351131                // start per view cell gvs 
    11361132                PerViewCellComputation(); 
    1137  
    1138                 if (mEvaluatePixelError) 
    1139                 { 
    1140                         ComputeRenderError(); 
    1141                 } 
    11421133#else 
    11431134                PerViewCellComputation2(); 
     
    11621153        { 
    11631154                ExportPreprocessedData(mVisibilityFileName); 
     1155        } 
     1156         
     1157        // compute the pixel error of this visibility solution 
     1158        if (mEvaluatePixelError) 
     1159        { 
     1160                ComputeRenderError(); 
    11641161        } 
    11651162 
     
    12111208{ 
    12121209        app << "#ViewCells\n" << mViewCells << endl; 
    1213         app << "#ViewCellId\n" << mViewCellId << endl; 
     1210        app << "#Id\n" << mViewCellId << endl; 
     1211        app << "#Time\n" << mTimePerViewCell << endl;; 
     1212        app << "#TrianglePvs\n" << mTrianglePvs << endl; 
     1213        app << "#ObjectPvs\n" << mPerViewCellPvs << endl; 
     1214        app << "#PvsCost\n" << (int)mPvsCost << endl; 
     1215 
     1216#if 0 
     1217        app << "#TotalPvs\n" << mTotalPvs << endl; 
    12141218        app << "#TotalTime\n" << mTotalTime << endl; 
    1215         app << "#TimePerViewCell\n" << mTimePerViewCell << endl;; 
    1216  
    12171219        app << "#RaysPerSec\n" << RaysPerSec() << endl; 
    1218  
    1219         app << "#TrianglePvs\n" << mTrianglePvs << endl; 
    1220         app << "#TotalTrianglePvs\n" << mTotalTrianglePvs << endl; 
    1221  
    1222         app << "#PerViewCellPvs\n" << mPerViewCellPvs << endl; 
    1223         app << "#TotalPvs\n" << mTotalPvs << endl; 
    12241220         
    12251221        app << "#PerViewCellSamples\n" << mPerViewCellSamples << endl; 
    12261222        app << "#TotalSamples\n" << mTotalSamples << endl; 
    12271223        app     << "#SamplesContri\n" << mTotalContribution << endl; 
    1228                  
     1224        app << "#TotalTrianglePvs\n" << mTotalTrianglePvs << endl; 
     1225         
     1226#endif 
     1227 
    12291228        //app << "#ReverseSamples\n" << mReverseSamples << endl; 
    12301229        //app << "#BorderSamples\n" << mBorderSamples << endl; 
     
    12771276        else 
    12781277        { 
    1279                 /*// add pvs 
    1280                 ObjectContainer::const_iterator it, it_end = mKdPvs.end(); 
    1281  
    1282                 for (it = mKdPvs.begin(); it != it_end; ++ it) 
    1283                         mCurrentViewCell->GetPvs().AddSampleDirty(*it, 1.0f); 
    1284                 */ 
    12851278                mGvsStats.mPerViewCellPvs = mCurrentViewCell->GetPvs().GetSize(); 
    1286  
    1287                 cout << "pvs cost: " << mCurrentViewCell->GetPvs().EvalPvsCost() << " pvs tri: " << mGenericStats2 << endl; 
     1279                mGvsStats.mPvsCost = mCurrentViewCell->GetPvs().EvalPvsCost(); 
     1280 
     1281                cout << "id: " << mCurrentViewCell->GetId() << " pvs cost: "  
     1282                         << mGvsStats.mPvsCost << " pvs tri: " << mTrianglePvs.size() << endl; 
    12881283        } 
    12891284 
     
    12931288 
    12941289        mGvsStats.mViewCells = mProcessedViewCells;//mPass; 
    1295  
    1296  
    12971290        mGvsStats.mTotalPvs += mGvsStats.mPerViewCellPvs; 
    12981291        mGvsStats.mTotalSamples += mGvsStats.mPerViewCellSamples; 
Note: See TracChangeset for help on using the changeset viewer.