Ignore:
Timestamp:
12/15/06 23:40:27 (18 years ago)
Author:
bittner
Message:

experiments with different contribution computations

Location:
GTP/trunk/Lib/Vis/Preprocessing/src
Files:
17 edited

Legend:

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

    r1894 r1900  
    2929         
    3030         
    31         //  Environment::GetSingleton()->GetBoolValue("RssPreprocessor.Export.rays", mExportRays); 
    32         //  Environment::GetSingleton()->GetIntValue("RssPreprocessor.Export.numRays", mExportNumRays); 
    3331  } 
    3432   
     
    7169  for (int i=0; i < mTotalSamples; i += mSamplesPerPass, mPass++) { 
    7270 
    73         if (i - lastEvaluation >= mSamplesPerEvaluation) { 
    74           mStats << 
    75                 "#Pass\n" <<mPass<<endl<< 
    76                 "#Time\n" << TimeDiff(startTime, GetTime())<<endl<< 
    77                 "#TotalSamples\n" <<i<<endl<< 
    78                 "#RssSamples\n" <<totalVssRays<<endl; 
    79           vssRays.PrintStatistics(mStats); 
    80           mViewCellsManager->PrintPvsStatistics(mStats); 
    81           lastEvaluation = i; 
    82         } 
    8371         
    8472        cout<<"Progress : "<<(100.0f*i)/mTotalSamples<<"%"<<endl; 
     
    9078        CastRays(rays, vssRays, true, pruneInvalidRays); 
    9179        totalVssRays += (int)vssRays.size(); 
    92          
     80 
     81        if (mExportRays) { 
     82          Debug<<"Exporting rays..."<<endl<<flush; 
     83          char filename[256]; 
     84          sprintf(filename, "rss-rays-i%04d.x3d", mPass); 
     85          ExportRays(filename, vssRays, mExportNumRays); 
     86           
     87          //      VssRayContainer contributingRays; 
     88          //      vssRays.GetContributingRays(contributingRays, 0); 
     89          //      sprintf(filename, "rss-crays-%04d.x3d", mPass); 
     90          //      ExportRays(filename, contributingRays, mExportNumRays); 
     91          Debug<<"done."<<endl<<flush; 
     92        } 
     93 
    9394        mMixtureDistribution->ComputeContributions(vssRays); 
    9495 
     96        if (i - lastEvaluation >= mSamplesPerEvaluation) { 
     97          mViewCellsManager->PrintPvsStatistics(mStats); 
     98          mStats << 
     99                "#Pass\n" <<mPass<<endl<< 
     100                "#Time\n" << TimeDiff(startTime, GetTime())<<endl<< 
     101                "#TotalSamples\n" <<i<<endl<< 
     102                "#RssSamples\n" <<totalVssRays<<endl; 
     103          lastEvaluation = i; 
     104        } 
     105 
     106         
     107         
     108        if (!mMixtureDistribution->RequiresRays()) 
     109          CLEAR_CONTAINER(vssRays); 
    95110  } 
     111   
    96112  return true; 
    97    
    98113} 
    99114 
  • GTP/trunk/Lib/Vis/Preprocessing/src/Environment.cpp

    r1895 r1900  
    18401840          "preprocessor_use_viewspace_box=", 
    18411841          "false");    
     1842 
     1843   RegisterOption("Preprocessor.Export.rays", optBool, "export_rays=", "false"); 
     1844        RegisterOption("Preprocessor.Export.numRays", optInt, "export_num_rays=", "5000"); 
    18421845    
    18431846        /*************************************************************************/ 
     
    19621965        RegisterOption("RssPreprocessor.Export.pvs", optBool, "rss_export_pvs=", "false"); 
    19631966        RegisterOption("RssPreprocessor.Export.rssTree", optBool, "rss_export_rss_tree=", "false"); 
    1964         RegisterOption("RssPreprocessor.Export.rays", optBool, "rss_export_rays=", "false"); 
    1965         RegisterOption("RssPreprocessor.Export.numRays", optInt, "rss_export_num_rays=", "5000"); 
     1967 
    19661968        RegisterOption("RssPreprocessor.useViewcells", optBool, "rss_use_viewcells=", "false"); 
    19671969        RegisterOption("RssPreprocessor.updateSubdivision", 
  • GTP/trunk/Lib/Vis/Preprocessing/src/Makefile

    r1891 r1900  
    11############################################################################# 
    22# Makefile for building: preprocessor 
    3 # Generated by qmake (2.00a) (Qt 4.1.2) on: st 13. XII 23:09:08 2006 
     3# Generated by qmake (2.00a) (Qt 4.1.2) on: ?t 14. XII 10:54:14 2006 
    44# Project:  preprocessor.pro 
    55# Template: app 
     
    6363        $(MAKE) -f $(MAKEFILE).Debug uninstall 
    6464 
    65 Makefile: preprocessor.pro  C:/Qt/4.1.2/mkspecs/win32-msvc.net\qmake.conf C:/Qt/4.1.2/mkspecs/qconfig.pri \ 
     65Makefile: preprocessor.pro  C:/Qt/4.1.2/mkspecs/win32-msvc2005\qmake.conf C:/Qt/4.1.2/mkspecs/qconfig.pri \ 
    6666                C:\Qt\4.1.2\mkspecs\features\qt_config.prf \ 
    6767                C:\Qt\4.1.2\mkspecs\features\exclusive_builds.prf \ 
  • GTP/trunk/Lib/Vis/Preprocessing/src/Preprocessor.cpp

    r1898 r1900  
    167167        Environment::GetSingleton()->GetBoolValue("Preprocessor.useViewSpaceBox", mUseViewSpaceBox); 
    168168 
     169        Environment::GetSingleton()->GetBoolValue("Preprocessor.Export.rays", mExportRays); 
     170        Environment::GetSingleton()->GetIntValue("Preprocessor.Export.numRays", mExportNumRays); 
     171 
    169172        Debug << "******* Preprocessor Options **********" << endl; 
    170173        Debug << "detect empty view space=" << mDetectEmptyViewSpace << endl; 
     
    12201223} 
    12211224 
    1222 } 
     1225 
     1226bool 
     1227Preprocessor::ExportRays(const char *filename, 
     1228                                                 const VssRayContainer &vssRays, 
     1229                                                 const int number 
     1230                                                 ) 
     1231{ 
     1232  cout<<"Exporting vss rays..."<<endl<<flush; 
     1233   
     1234  Exporter *exporter = NULL; 
     1235  exporter = Exporter::GetExporter(filename); 
     1236 
     1237  if (0) { 
     1238        exporter->SetWireframe(); 
     1239        exporter->ExportKdTree(*mKdTree); 
     1240  } 
     1241   
     1242  exporter->SetFilled(); 
     1243  // $$JB temporarily do not export the scene 
     1244  if (0) 
     1245        exporter->ExportScene(mSceneGraph->GetRoot()); 
     1246 
     1247  exporter->SetWireframe(); 
     1248 
     1249  if (1) { 
     1250        exporter->SetForcedMaterial(RgbColor(1,0,1)); 
     1251        exporter->ExportBox(mViewCellsManager->GetViewSpaceBox()); 
     1252        exporter->ResetForcedMaterial(); 
     1253  } 
     1254   
     1255  VssRayContainer rays; 
     1256  vssRays.SelectRays(number, rays); 
     1257  exporter->ExportRays(rays, RgbColor(1, 0, 0)); 
     1258  delete exporter; 
     1259  cout<<"done."<<endl<<flush; 
     1260 
     1261  return true; 
     1262} 
     1263 
     1264} 
  • GTP/trunk/Lib/Vis/Preprocessing/src/Preprocessor.h

    r1884 r1900  
    121121        bool ExportKdTree(const string filename); 
    122122 
     123  virtual bool 
     124  ExportRays(const char *filename, 
     125                         const VssRayContainer &vssRays, 
     126                         const int number 
     127                         ); 
     128         
    123129        virtual int 
    124130        GenerateRays(const int number, 
     
    203209   
    204210        bool mExportObj; 
     211 
     212  bool mExportRays; 
     213  int mExportNumRays; 
    205214 
    206215        ofstream mStats; 
  • GTP/trunk/Lib/Vis/Preprocessing/src/RayCaster.cpp

    r1883 r1900  
    9595 
    9696        // regardless of the pruneInvalidRays setting reject rays whic degenerate to a point 
    97         if (EpsilonEqualV3(hitA.mPoint, hitB.mPoint, Limits::Small)) 
    98           return 0; 
     97        //      if (EpsilonEqualV3(hitA.mPoint, hitB.mPoint, Limits::Small)) 
     98        //        return 0; 
    9999         
    100100        if (pruneInvalidRays) { 
  • GTP/trunk/Lib/Vis/Preprocessing/src/RssPreprocessor.cpp

    r1891 r1900  
    164164 
    165165 
    166 bool 
    167 RssPreprocessor::ExportRays(const char *filename, 
    168                                                         const VssRayContainer &vssRays, 
    169                                                         const int number 
    170                                                         ) 
    171 { 
    172   cout<<"Exporting vss rays..."<<endl<<flush; 
    173          
    174   Exporter *exporter = NULL; 
    175   exporter = Exporter::GetExporter(filename); 
    176   if (0) { 
    177         exporter->SetWireframe(); 
    178         exporter->ExportKdTree(*mKdTree); 
    179   } 
    180   exporter->SetFilled(); 
    181   // $$JB temporarily do not export the scene 
    182   if (0) 
    183         exporter->ExportScene(mSceneGraph->GetRoot()); 
    184   exporter->SetWireframe(); 
    185  
    186   if (1) { 
    187         exporter->SetForcedMaterial(RgbColor(1,0,1)); 
    188         exporter->ExportBox(mViewCellsManager->GetViewSpaceBox()); 
    189         exporter->ResetForcedMaterial(); 
    190   } 
    191    
    192   VssRayContainer rays; 
    193    
    194   vssRays.SelectRays(number, rays); 
    195  
    196   exporter->ExportRays(rays, RgbColor(1, 0, 0)); 
    197          
    198   delete exporter; 
    199  
    200   cout<<"done."<<endl<<flush; 
    201  
    202   return true; 
    203 } 
    204166 
    205167bool 
  • GTP/trunk/Lib/Vis/Preprocessing/src/RssPreprocessor.h

    r1884 r1900  
    3333  bool mExportPvs; 
    3434  bool mExportRssTree; 
    35   bool mExportRays; 
    36   int mExportNumRays; 
    3735 
    3836  bool mUseViewcells; 
     
    7270   
    7371 
    74   bool 
    75   ExportRays(const char *filename, 
    76                          const VssRayContainer &vssRays, 
    77                          const int number 
    78                          ); 
    7972 
    8073  bool 
  • GTP/trunk/Lib/Vis/Preprocessing/src/RssTree.cpp

    r1891 r1900  
    365365         
    366366          RssTreeNode::RayInfo info(*ri); 
    367            
     367          if (!EpsilonEqualV3(info.GetOrigin(), info.GetTermination(), Limits::Small)) { 
     368 
    368369          // first construct a leaf that will get subdivide 
    369370          RssTreeLeaf *leaf = (RssTreeLeaf *) GetRoot(info.GetSourceObject()); 
     371           
    370372 
    371373          leaf->AddRay(info); 
     
    389391          leaf->dirBBox.Include(dVec); 
    390392          dirBBox.Include(dVec); 
     393          } 
    391394  } 
    392395 
     
    14561459  if (stat.rayRefs > mMaxRays) { 
    14571460        Debug<<"Prunning rays..."<<endl<<flush; 
    1458         PruneRays(mMaxRays); 
     1461        PruneRays(0.8f*mMaxRays); 
    14591462        Debug<<"done."<<endl<<flush; 
    14601463        //      UpdateTreeStatistics(); 
    14611464  } 
    1462  
    14631465} 
    14641466 
     
    15531555RssTree::AddRay(RssTreeNode::RayInfo &info) 
    15541556{ 
     1557  if (EpsilonEqualV3(info.GetOrigin(), info.GetTermination(), Limits::Small)) 
     1558        return; 
    15551559 
    15561560  stack<RayTraversalData> tstack; 
     
    15611565  RayTraversalData data; 
    15621566   
     1567 
    15631568  while (!tstack.empty()) { 
    15641569    data = tstack.top(); 
     
    18071812RssTree::UpdateTreeStatistics() 
    18081813{ 
     1814  for (int i=0; i < mRoots.size(); i++) 
     1815        UpdateImportance(mRoots[i]); 
     1816   
     1817#if 0   
    18091818  stack<RssTreeNode *> tstack; 
    18101819         
     
    18191828  int leaves = 0; 
    18201829 
    1821   for (int i=0; i < mRoots.size(); i++) 
    1822         UpdateImportance(mRoots[i]); 
    18231830 
    18241831  PushRoots(tstack); 
    1825  
     1832   
    18261833  while (!tstack.empty()) { 
    18271834    RssTreeNode *node = tstack.top(); 
     
    18711878  stat.avgWeightedRayContribution = sumWeightedRayContribution/(float)sumRays; 
    18721879  stat.rayRefs = (int)sumRays; 
     1880#endif 
    18731881   
    18741882} 
     
    28222830          float c1 = weight*ray->mPvsContribution; 
    28232831          float c2 = weight*ray->mRelativePvsContribution; 
     2832 
    28242833          sumContributions += c1; 
    28252834          if (c1 > maxContribution) 
     
    28322841          sumRelContributions += c2; 
    28332842          if (c2 > maxRelContribution) 
    2834                         maxRelContribution = c2; 
    2835  
     2843                maxRelContribution = c2; 
     2844           
    28362845          //sumWeights += weight; 
    28372846          sumWeights += 1.0f; 
     
    28642873          leaf->mImportance = 
    28652874                pow(((weightAbsContributions*sumContributions + 
    2866                           (1.0f - weightAbsContributions)*sumRelContributions)/sumWeights), 3); 
    2867 #else  
     2875                          (1.0f - weightAbsContributions)*sumRelContributions)/sumWeights), 1.0f); 
     2876#else 1 
    28682877          leaf->mImportance = 
    28692878                (weightAbsContributions*maxContribution + 
  • GTP/trunk/Lib/Vis/Preprocessing/src/RssTree.h

    r1884 r1900  
    307307  // 
    308308  ///////////////////////////////// 
    309  
     309   
    310310 
    311311  // the bbox of the node 
     
    317317  // evaluated importance of this node 
    318318  float mImportance; 
     319 
     320  // importance requires update 
     321  //bool mRequiresUpdate; 
    319322 
    320323  inline RssTreeNode(RssTreeInterior *p); 
     
    11331136   
    11341137  virtual void Update(VssRayContainer &vssRays); 
     1138  virtual bool RequiresRays() { return true; } 
    11351139   
    11361140private: 
  • GTP/trunk/Lib/Vis/Preprocessing/src/SamplingPreprocessor.cpp

    r1883 r1900  
    8787  int intersectables, faces; 
    8888  mSceneGraph->GetStatistics(intersectables, faces); 
     89  HaltonSequence halton; 
    8990   
    9091  int samples = 0; 
     
    99100                  cout<<"+"; 
    100101 
     102                float r[5]; 
     103                halton.GetNext(5, r); 
    101104                Vector3 origin, direction; 
    102                 mViewCellsManager->GetViewPoint( origin ); 
     105                mViewCellsManager->GetViewPoint(origin, Vector3(r[0], r[1], r[2])); 
    103106                 
    104                 direction = UniformRandomVector(); 
     107                direction = UniformRandomVector(r[3],r[4]); 
    105108                ViewCell *viewcell = mViewCellsManager->GetViewCell(origin); 
    106109                 
  • GTP/trunk/Lib/Vis/Preprocessing/src/SamplingStrategy.cpp

    r1899 r1900  
    495495  float r; 
    496496  sHalton.GetNext(1, &r); 
    497  
     497  int i; 
    498498  // pickup a distribution 
    499   for (int i=0; i < mDistributions.size()-1; i++) 
     499  for (i=0; i < mDistributions.size()-1; i++) 
    500500        if (r < mDistributions[i]->mRatio) 
    501501          break; 
     
    528528        mDistributions[i]->mContribution += contribution; 
    529529        mDistributions[i]->mRays ++; 
    530  
     530         
    531531        mDistributions[i]->mTotalContribution += contribution; 
    532532        mDistributions[i]->mTotalRays ++; 
     
    553553        float importance = 0.0f; 
    554554        if (mDistributions[i]->mRays != 0) { 
    555           importance = pow(mDistributions[i]->mContribution/mDistributions[i]->mRays, 3); 
    556         } 
    557         if (importance < Limits::Small) 
    558           importance = Limits::Small; 
     555          //      importance = pow(mDistributions[i]->mContribution/mDistributions[i]->mRays, 3); 
     556          importance = mDistributions[i]->mContribution/mDistributions[i]->mRays; 
     557        } 
    559558        mDistributions[i]->mRatio = importance; 
    560559        sum += importance; 
    561560  } 
    562561 
    563   const float minratio = 0.05f; 
     562  const float minratio = 0.02f; 
    564563  float threshold = minratio*sum; 
    565564  for (i=0; i < mDistributions.size(); i++) { 
  • GTP/trunk/Lib/Vis/Preprocessing/src/SamplingStrategy.h

    r1899 r1900  
    5757 
    5858        virtual bool GenerateSample(SimpleRay &ray) = 0; 
    59    
     59 
     60  // true if the strategy keeps pointers to rays and thus they should get deleted 
     61  // outside, in that case the strategy has to use reference counting and deleting the rays 
     62  // by itself if the number of references drops to zero 
     63  virtual bool RequiresRays() { return false; } 
    6064 
    6165 
     
    7074public: 
    7175 
    72         /// variables usefull for mixed distribution sampling 
    73         int mType; 
    74         int mRays; 
    75         float mContribution; 
    76  
    77         int mTotalRays; 
    78         float mTotalContribution; 
    79  
    80         float mTime; 
    81         float mRatio; 
     76  /// variables usefull for mixed distribution sampling 
     77  int mType; 
     78  int mRays; 
     79  float mContribution; 
     80   
     81  int mTotalRays; 
     82  float mTotalContribution; 
     83   
     84  float mTime; 
     85  float mRatio; 
    8286 
    8387protected: 
     
    273277  Construct(char *str); 
    274278 
     279  virtual bool RequiresRays() { 
     280        for (int i=0; i < mDistributions.size(); i++) 
     281          if (mDistributions[i]->RequiresRays()) 
     282                return true; 
     283        return false; 
     284  } 
     285 
    275286private: 
    276287 
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsManager.cpp

    r1895 r1900  
    2727 
    2828// $$JB HACK 
    29 #define USE_KD_PVS 0 
     29#define USE_KD_PVS 1 
    3030 
    3131#define KD_PVS_AREA (1e-5f) 
     32 
     33#define USE_RAY_LENGTH_AS_CONTRIBUTION 0 
     34#define DIST_WEIGHTED_CONTRIBUTION 1 
    3235 
    3336namespace GtpVisibilityPreprocessor { 
     
    15361539                                                                                         const bool storeViewCells) 
    15371540{ 
    1538   // view cells not yet constructed 
    1539   if (!ViewCellsConstructed()) 
    1540         return 0.0f; 
    1541    
    15421541  float sum = 0.0f; 
     1542 
    15431543  VssRayContainer::const_iterator it, it_end = rays.end(); 
    15441544   
    15451545  for (it = rays.begin(); it != it_end; ++ it)  
    15461546        { 
    1547           sum += ComputeSampleContribution(*(*it), addRays, storeViewCells); 
     1547          if (!ViewCellsConstructed()) { 
     1548                // view cells not yet constructed 
     1549                // just take the lenghts of the rays as contributions 
     1550                if ((*it)->mTerminationObject) 
     1551                  sum += (*it)->Length(); 
     1552          } else { 
     1553                sum += ComputeSampleContribution(*(*it), addRays, storeViewCells); 
     1554          } 
    15481555        } 
    15491556   
     
    20092016float 
    20102017ViewCellsManager::ComputeSampleContribution(VssRay &ray, 
    2011                                                                                                   const bool addRays, 
    2012                                                                                                   const bool storeViewCells) 
     2018                                                                                        const bool addRays, 
     2019                                                                                        const bool storeViewCells) 
    20132020{ 
    20142021  ray.mPvsContribution = 0; 
     
    20592066                        { 
    20602067                          // todo: maybe not correct for kd node pvs 
    2061                           if (viewcell->GetPvs().GetSampleContribution( 
    2062                                                                                                                    terminationObj, ray.mPdf, contribution)) 
     2068                          bool absContribution = viewcell->GetPvs().GetSampleContribution( 
     2069                                                                                                                                                          terminationObj, 
     2070                                                                                                                                                          ray.mPdf, 
     2071                                                                                                                                                          contribution); 
     2072#if DIST_WEIGHTED_CONTRIBUTION 
     2073                          // clear the relative contribution 
     2074                          contribution = 0.0f; 
     2075#endif 
     2076                          if (absContribution) 
    20632077                                { 
    20642078                                  ++ ray.mPvsContribution; 
     
    20732087#endif 
    20742088                                  } 
     2089#if DIST_WEIGHTED_CONTRIBUTION  
     2090                                  // recalculate the contribution - weight the 1.0f contribution by the sqr distance to the 
     2091                                  // object-> a new contribution in the proximity of the viewcell has a larger weight! 
     2092                                  contribution = 1.0f/SqrDistance(GetViewCellBox(viewcell).Center(), 
     2093                                                                                                  ray.mTermination); 
     2094#endif 
    20752095                                } 
    20762096                           
     
    20792099                } 
    20802100        } 
    2081    
     2101 
     2102#if USE_RAY_LENGTH_AS_CONTRIBUTION 
     2103  float c = 0.0f; 
     2104  if (terminationObj)  
     2105        c = ray.Length(); 
     2106  ray.mRelativePvsContribution = ray.mPvsContribution = c; 
     2107  return c; 
     2108#else 
    20822109  return ABS_CONTRIBUTION_WEIGHT*ray.mPvsContribution + 
    20832110        (1.0f - ABS_CONTRIBUTION_WEIGHT)*ray.mRelativePvsContribution; 
     2111#endif 
    20842112} 
    20852113 
  • GTP/trunk/Lib/Vis/Preprocessing/src/VssRay.h

    r1883 r1900  
    1414class KdNode; 
    1515 
    16 #define ABS_CONTRIBUTION_WEIGHT 1.0f 
     16#define ABS_CONTRIBUTION_WEIGHT 0.0f 
    1717 
    1818class VssRay { 
  • GTP/trunk/Lib/Vis/Preprocessing/src/default.env

    r1891 r1900  
    7373            file        histogram.log 
    7474        } 
     75        Export { 
     76                rays true 
     77                numRays 5000 
     78        } 
     79 
    7580} 
    7681 
     
    96101#       distributions object_direction 
    97102 
    98         samplesPerPass 200000 
     103        samplesPerPass 1000000 
    99104        initialSamples 2000000 
    100         vssSamples 50000000 
    101         vssSamplesPerPass 500000 
     105        vssSamples 20000000 
     106        vssSamplesPerPass 5000000 
    102107        useImportanceSampling true 
    103108 
    104         directionalSampling false 
    105         objectBasedSampling false 
    106109 
    107110        Export { 
    108111                pvs false 
    109112                rssTree false 
    110                 rays true 
    111                 numRays 5000 
    112113        } 
    113114 
     
    131132#       splitType heuristic 
    132133 
    133         minRays         100 
     134        minRays         50 
    134135        minSize         0.001 
    135136        maxCostRatio 1.0 
    136137        maxRayContribution 1.0 
    137         maxRays         10000000 
     138        maxRays         2000000 
    138139        maxTotalMemory  400 
    139140        maxStaticMemory 200 
  • GTP/trunk/Lib/Vis/Preprocessing/src/run_test2

    r1883 r1900  
    22 
    33#COMMAND="./release/preprocessor.exe -preprocessor_quit_on_finish+" 
    4 COMMAND="../scripts/preprocessor.sh -preprocessor_quit_on_finish+ -preprocessor_use_gl_renderer- -preprocessor_evaluate_filter+" 
     4COMMAND="../scripts/preprocessor.sh -preprocessor_quit_on_finish+ -preprocessor_use_gl_renderer- -preprocessor_evaluate_filter-" 
    55 
    66#SCENE="../data/vienna/vienna-buildings.x3d;../data/vienna/vienna-roofs.x3d;../data/vienna/vienna-roads.x3d" 
     
    3535 
    3636 
    37 # $COMMAND -preprocessor=sampling -scene_filename=$SCENE -view_cells_filename=$VIEWCELLS \ 
    38 # -view_cells_filter_max_size=1 -preprocessor_stats=$PREFIX-r-reference.log \ 
    39 # -preprocessor_histogram_file=$PREFIX-r-reference.hlog 
     37#$COMMAND -preprocessor=sampling -scene_filename=$SCENE -view_cells_filename=$VIEWCELLS \ 
     38#-view_cells_filter_max_size=1 -preprocessor_stats=$PREFIX-r-reference.log \ 
     39#-preprocessor_histogram_file=$PREFIX-r-reference.hlog 
    4040 
    4141 
     42#$COMMAND -scene_filename=$SCENE -view_cells_filename=$VIEWCELLS \ 
     43#-rss_update_subdivision+ -rss_split=hybrid -hybrid_depth=10 \ 
     44#-view_cells_filter_max_size=1 -preprocessor_stats=$PREFIX-i-combined-update-ccb12-nn.log \ 
     45#-preprocessor_histogram_file=$PREFIX-i-combined-update-ccb12-nn.hlog 
     46 
    4247# $COMMAND -scene_filename=$SCENE -view_cells_filename=$VIEWCELLS \ 
    43 # -rss_update_subdivision+ -rss_split=hybrid -hybrid_depth=10 \ 
    44 # -view_cells_filter_max_size=1 -preprocessor_stats=$PREFIX-i-combined-update-ccb12-nn.log \ 
    45 # -preprocessor_histogram_file=$PREFIX-i-combined-update-ccb12-nn.hlog 
    46  
    47 $COMMAND -scene_filename=$SCENE -view_cells_filename=$VIEWCELLS \ 
    48 -rss_update_subdivision- -rss_split=hybrid -hybrid_depth=10 \ 
    49 -view_cells_filter_max_size=1 -preprocessor_stats=$PREFIX-i-combined-ccb12-nn.log \ 
    50 -preprocessor_histogram_file=$PREFIX-i-combined-ccb12-nn.hlog 
     48# -rss_update_subdivision- -rss_split=hybrid -hybrid_depth=10 \ 
     49# -view_cells_filter_max_size=1 -preprocessor_stats=$PREFIX-i-combined-ccb12-nn.log \ 
     50# -preprocessor_histogram_file=$PREFIX-i-combined-ccb12-nn22.hlog 
    5151 
    5252 
     
    6464 
    6565 
    66 #$COMMAND -scene_filename=$SCENE -view_cells_filename=$VIEWCELLS \ 
    67 #-rss_distributions=spatial+object_direction -view_cells_filter_max_size=1 \ 
    68 # -preprocessor_stats=$PREFIX-i-mixed-b1-n.log \ 
    69 # -preprocessor_histogram_file=$PREFIX-i-mixed-b1-n.hlog 
     66$COMMAND -scene_filename=$SCENE -view_cells_filename=$VIEWCELLS \ 
     67-rss_distributions=object_direction+spatial+object+direction -view_cells_filter_max_size=1 \ 
     68-preprocessor_stats=$PREFIX-i-mixed-b1-n225678.log \ 
     69-preprocessor_histogram_file=$PREFIX-i-mixed-b1-n225678.hlog 
    7070 
    7171 
Note: See TracChangeset for help on using the changeset viewer.