Changeset 2049


Ignore:
Timestamp:
01/24/07 04:11:29 (17 years ago)
Author:
bittner
Message:

glrenderer updates

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

Legend:

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

    r2048 r2049  
    3333         
    3434  } 
    35    
     35 
     36 
    3637 
    3738bool 
     
    129130                ComputeRenderError(); 
    130131          } 
     132        } 
    131133 
    132           if (mTotalTime!= -1 && time/1000 > mTotalTime) 
    133                 break; 
    134         } 
     134        long time = TimeDiff(startTime, GetTime()); 
     135        if (mTotalTime!= -1 && time/1000 > mTotalTime) 
     136          break; 
    135137 
    136138#if 0 
  • GTP/trunk/Lib/Vis/Preprocessing/src/GlRenderer.cpp

    r2048 r2049  
    9292  //mUseGlLists = false; 
    9393 
    94   Environment::GetSingleton()->GetIntValue("Preprocessor.pvsRenderErrorSamples", mPvsStatFrames); 
     94  if (mViewCellsManager->GetViewCellPoints()->size()) 
     95        mPvsStatFrames = mViewCellsManager->GetViewCellPoints()->size(); 
     96  else 
     97        Environment::GetSingleton()->GetIntValue("Preprocessor.pvsRenderErrorSamples", mPvsStatFrames); 
     98 
     99 
    95100  mPvsErrorBuffer.resize(mPvsStatFrames); 
    96101  ClearErrorBuffer(); 
    97    
    98102} 
    99103 
     
    861865{ 
    862866        MakeCurrent(); 
    863  
     867         
    864868        GlRenderer::EvalPvsStat(); 
    865  
     869         
    866870        DoneCurrent(); 
    867871  //  mRenderingFinished.wakeAll(); 
  • GTP/trunk/Lib/Vis/Preprocessing/src/Makefile

    r2042 r2049  
    11############################################################################# 
    22# Makefile for building: preprocessor 
    3 # Generated by qmake (2.00a) (Qt 4.1.2) on: út 23. I 16:04:45 2007 
     3# Generated by qmake (2.00a) (Qt 4.1.2) on: út 23. I 21:53:49 2007 
    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-msvc2005\qmake.conf C:/Qt/4.1.2/mkspecs/qconfig.pri \ 
     65Makefile: preprocessor.pro  C:/Qt/4.1.2/mkspecs/win32-msvc.net\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

    r2048 r2049  
    14561456        //      renderer->mRenderingFinished.wait(&mutex); 
    14571457        //      mutex.unlock(); 
    1458          
    1459         renderer->EvalPvsStat(); 
    1460  
     1458 
     1459        if (mViewCellsManager->GetViewCellPoints()->size()) { 
     1460           
     1461          vector<ViewCellPoints *> *vcPoints = mViewCellsManager->GetViewCellPoints(); 
     1462           
     1463          vector<ViewCellPoints *>::const_iterator vit, vit_end = vcPoints->end(); 
     1464          SimpleRayContainer viewPoints; 
     1465           
     1466          for (vit = vcPoints->begin(); vit != vit_end; ++ vit) { 
     1467                ViewCellPoints *vp = *vit; 
     1468 
     1469                SimpleRayContainer::const_iterator rit = vp->second.begin(), rit_end = vp->second.end(); 
     1470                for (; rit!=rit_end; ++rit) 
     1471                  viewPoints.push_back(*rit); 
     1472          } 
     1473           
     1474          renderer->EvalPvsStat(viewPoints); 
     1475        } else 
     1476          renderer->EvalPvsStat(); 
     1477         
    14611478        mStats << 
    14621479          "#AvgPvsRenderError\n" <<renderer->mPvsStat.GetAvgError()<<endl<< 
  • GTP/trunk/Lib/Vis/Preprocessing/src/QtInterface/QtGlRenderer.cpp

    r2048 r2049  
    9696  unsigned int pixelCount; 
    9797 
    98  
     98   
    9999  ViewCell *viewcell = mViewCellsManager->GetViewCell(mViewPoint); 
     100   
    100101  if (viewcell == NULL) 
    101102        return 0.0f; 
     
    166167   
    167168   
    168   if (mSnapErrorFrames && pErrorPixels >= 0.01f) { 
     169  if (0 && mSnapErrorFrames && pErrorPixels >= 0.01f) { 
    169170         
    170171        char filename[256]; 
     
    448449{ 
    449450  float pErrorPixels = -1.0f; 
    450  
    451   glReadBuffer(GL_BACK); 
    452    
    453   mUseFalseColors = true; 
    454  
    455   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
    456    
    457   double eq[4]; 
    458   eq[0] = mSceneCutPlane.mNormal.x; 
    459   eq[1] = mSceneCutPlane.mNormal.y; 
    460   eq[2] = mSceneCutPlane.mNormal.z; 
    461   eq[3] = mSceneCutPlane.mD; 
    462    
    463   if (mCutScene) { 
    464         glClipPlane(GL_CLIP_PLANE0, eq); 
    465     glEnable(GL_CLIP_PLANE0); 
    466   } 
    467    
    468   if (mDetectEmptyViewSpace)  
    469         glEnable( GL_CULL_FACE ); 
    470   else 
    471         glDisable( GL_CULL_FACE ); 
    472  
    473   ObjectContainer::const_iterator oi = mObjects.begin(); 
    474   for (; oi != mObjects.end(); oi++) 
    475         RenderIntersectable(*oi); 
    476  
    477   ViewCell *viewcell = NULL; 
    478  
    479   QImage im1, im2; 
    480   QImage diff; 
    481    
    482   if (viewcell) { 
    483         // read back the texture 
    484         im1 = grabFrameBuffer(true); 
    485          
    486         RenderPvs(); 
    487  
    488         // read back the texture 
    489         im2 = grabFrameBuffer(true); 
    490          
    491         diff = im1; 
    492         int x, y; 
    493         int errorPixels = 0; 
    494          
    495         for (y = 0; y < im1.height(); y++) 
    496           for (x = 0; x < im1.width(); x++) 
    497                 if (im1.pixel(x, y) == im2.pixel(x, y)) 
    498                   diff.setPixel(x, y, qRgba(0,0,0,0)); 
    499                 else { 
    500                   diff.setPixel(x, y, qRgba(255,128,128,255)); 
    501                   errorPixels++; 
    502                 } 
    503         pErrorPixels = ((float)errorPixels)/(im1.height()*im1.width()); 
    504   } 
    505  
    506   // now render the pvs again 
     451   
    507452  SetupCamera(); 
    508   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
    509   mUseFalseColors = false; 
    510    
    511   oi = mObjects.begin(); 
    512   for (; oi != mObjects.end(); oi++) 
    513         RenderIntersectable(*oi); 
    514  
    515   // now render im1 
    516   if (viewcell) { 
    517         if (0 && mTopView) { 
    518           mWireFrame = true; 
    519           RenderIntersectable(viewcell); 
    520           mWireFrame = false; 
    521         } 
    522          
    523         // init ortographic projection 
    524         glMatrixMode(GL_PROJECTION); 
    525         glPushMatrix(); 
    526          
    527         glLoadIdentity(); 
    528         gluOrtho2D(0, 1.0f, 0, 1.0f); 
    529          
    530         glMatrixMode(GL_MODELVIEW); 
    531         glLoadIdentity(); 
    532          
    533         bindTexture(diff); 
    534          
    535         glPushAttrib(GL_ENABLE_BIT); 
    536         glEnable( GL_ALPHA_TEST ); 
    537         glDisable( GL_CULL_FACE ); 
    538         glAlphaFunc( GL_GREATER, 0.5 ); 
    539          
    540         glEnable( GL_TEXTURE_2D ); 
    541         glBegin(GL_QUADS); 
    542          
    543         glTexCoord2f(0,0); 
    544         glVertex3f(0,0,0); 
    545          
    546         glTexCoord2f(1,0); 
    547         glVertex3f( 1, 0, 0); 
    548          
    549         glTexCoord2f(1,1); 
    550         glVertex3f( 1, 1, 0); 
    551          
    552         glTexCoord2f(0,1); 
    553         glVertex3f(0, 1, 0); 
    554         glEnd(); 
    555          
    556         glPopAttrib(); 
    557          
    558         // restore the projection matrix 
    559         glMatrixMode(GL_PROJECTION); 
    560         glPopMatrix(); 
    561         glMatrixMode(GL_MODELVIEW); 
    562   } 
    563  
    564   glDisable(GL_CLIP_PLANE0); 
    565    
     453  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); 
     454 
     455  glPushAttrib(GL_ENABLE_BIT); 
     456 
     457  glStencilFunc(GL_EQUAL, 0x0, 0x1); 
     458  glStencilOp(GL_KEEP, GL_KEEP, GL_INCR);  
     459 
     460  mUseForcedColors = true; 
     461 
     462  glColor3f(0.0f, 0.8f, 0.2f); 
     463 
     464  //    // Render PVS 
     465  RenderPvs(); 
     466   
     467  glEnable(GL_STENCIL_TEST);  
     468   
     469  //  mUseFalseColors = true; 
     470   
     471  glDisable(GL_LIGHTING); 
     472   
     473  OcclusionQuery *query = mOcclusionQueries[0]; 
     474  query->BeginQuery(); 
     475   
     476  SetupCamera(); 
     477 
     478  glColor3f(1.0f, 0.0f, 0.0f); 
     479   
     480  RenderScene(); 
     481 
     482  mUseForcedColors = false; 
     483 
     484  query->EndQuery(); 
     485   
     486  glDisable(GL_STENCIL_TEST); 
     487  glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); 
     488 
     489  glPopAttrib(); 
     490 
     491  // reenable other state 
     492  //  int wait=0; 
     493  //  while (!query.ResultAvailable()) { 
     494  //    wait++; 
     495  //  } 
     496 
     497  int pixelCount = query->GetQueryResult(); 
     498  pErrorPixels = ((float)pixelCount)/(GetWidth()*GetHeight()); 
     499  cout<<"error pixels="<<pixelCount<<endl; 
     500 
    566501  mRenderError = pErrorPixels; 
     502 
    567503  return pErrorPixels; 
    568504} 
     
    719655        if (!ok) 
    720656          break; 
     657         
    721658        if (sscanf(text.toAscii(), "%f %f %f", &mViewPoint.x, &mViewPoint.y, &mViewPoint.z) == 3) { 
    722           updateGL(); 
     659          text.sprintf("%f %f %f", mViewDirection.x, mViewDirection.y, mViewDirection.z); 
     660          text = QInputDialog::getText(this, 
     661                                                                   "Enter a direction", 
     662                                                                   "", 
     663                                                                   QLineEdit::Normal, 
     664                                                                   text, 
     665                                                                   &ok); 
     666          if (!ok) 
     667                break; 
     668          if (sscanf(text.toAscii(), "%f %f %f", &mViewDirection.x, 
     669                                 &mViewDirection.y, &mViewDirection.z) == 3) { 
     670                updateGL(); 
     671          } 
     672          break; 
    723673        } 
    724         break; 
    725674  } 
    726675  default: 
     
    10581007   
    10591008  glEnable(GL_CULL_FACE); 
    1060   //glDisable(GL_CULL_FACE); 
    10611009  glCullFace(GL_FRONT); 
     1010 
     1011  glDisable(GL_CULL_FACE); 
    10621012  double eq[4]; 
    10631013  eq[0] = mSceneCutPlane.mNormal.x; 
     
    10891039        //      Mesh *m = vc->GetMesh(); 
    10901040 
    1091  
    10921041        RgbColor c; 
    10931042 
     
    10971046        } else { 
    10981047          //      const float importance = 5.0f*mTransferFunction * ((float)vc->GetPvs().CountObjectsInPvs() / (float)maxPvs); 
    1099           const float importance = 5.0f*mTransferFunction * ((float)vc->GetPvs().GetSize() / (float)maxPvs); 
     1048          const float importance = 5.0f*mTransferFunction * 
     1049                ((float)vc->GetPvs().GetSize() / (float)maxPvs); 
    11001050          c = RgbColor(importance, 1.0f - importance, 0.0f); 
    11011051        } 
  • GTP/trunk/Lib/Vis/Preprocessing/src/SamplingPreprocessor.cpp

    r2046 r2049  
    175175          } 
    176176           
    177           if (mTotalTime != -1 && time/1000 > mTotalTime) 
    178                 break; 
    179177        } 
     178 
     179        long time = TimeDiff(startTime, GetTime()); 
     180        if (mTotalTime != -1 && time/1000 > mTotalTime) 
     181          break; 
     182         
    180183  } 
    181184  if (0) { 
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsParser.cpp

    r2048 r2049  
    14611461    } 
    14621462 
    1463   //cout<<"parsing started"<<endl<<flush; 
     1463  //  cout<<"parsing started"<<endl<<flush; 
    14641464 
    14651465  // 
     
    15081508#endif 
    15091509 
    1510         if (PVS_HACK) 
     1510        if (0 && PVS_HACK) 
    15111511                handler.ExchangeElements(); 
    15121512 
  • GTP/trunk/Lib/Vis/Preprocessing/src/default.env

    r2011 r2049  
    199199 
    200200ViewCells { 
     201        importRandomViewCells true 
     202 
    201203        useKdPvs true 
    202204        useKdPvsAfterFiltering true 
  • GTP/trunk/Lib/Vis/Preprocessing/src/main.cpp

    r2048 r2049  
    212212         
    213213        const string externKdTree = ReplaceSuffix(filename, ".obj", ".kdf"); 
    214         const string internKdTree = GetInternFilename(filename, preprocessor->mLoadMeshes ? ".kdm" : ".kdt"); 
     214        const string internKdTree = GetInternFilename(filename, preprocessor->mLoadMeshes ? 
     215                                                                                                  ".kdm" : ".kdt"); 
    215216 
    216217        if (preprocessor->InitRayCast(externKdTree, internKdTree)) 
     
    260261                else 
    261262                { 
     263                   
    262264                        const string objname = GetInternFilename(filename, ".obj"); 
    263265 
     
    265267                        bool success = preprocessor->ExportObj(objname, preprocessor->mObjects); 
    266268 
     269                         
    267270                        if (success) 
    268271                        { 
     
    342345 
    343346        bool guiSupported = false; 
    344          
     347 
     348        bool useRendererBuffer = true; 
     349 
     350        int frames; 
     351        Environment::GetSingleton()->GetIntValue("Preprocessor.pvsRenderErrorSamples", frames); 
     352         
     353         
     354#ifdef USE_QT 
     355 
     356        if (importRandomViewCells || frames) 
     357          { 
     358                QGLFormat f; 
     359                f.setStencil(true); 
     360                QGLFormat::setDefaultFormat(f); 
     361 
     362                // NOTE: render texture should be power of 2 and square 
     363                // renderer must be initialised 
     364                // $$matt 
     365                preprocessor->renderer =  
     366                  new QtGlRendererBuffer(1024, 1024, 
     367                                                                 preprocessor->mSceneGraph, 
     368                                                           preprocessor->mViewCellsManager, 
     369                                                                 preprocessor->mKdTree); 
     370          } 
     371#endif 
     372 
    345373        if (preprocessor->mUseGlRenderer || preprocessor->mUseGlDebugger) 
    346         { 
     374          { 
    347375#ifdef USE_QT 
    348376                cout << "using gl widget" << endl; 
     
    355383                if (!rendererWidget)  
    356384                { 
    357                         if (!QGLFormat::hasOpenGL() || !QGLPixelBuffer::hasOpenGLPbuffers()) { 
    358                                 QMessageBox::information(0, "OpenGL pbuffers",  
    359                                         "This system does not support OpenGL/pbuffers.", 
    360                                         QMessageBox::Ok); 
    361                                 return NULL; 
     385 
     386                  if (!QGLFormat::hasOpenGL() || !QGLPixelBuffer::hasOpenGLPbuffers()) { 
     387                        QMessageBox::information(0, "OpenGL pbuffers",  
     388                                                                           "This system does not support OpenGL/pbuffers.", 
     389                                                                           QMessageBox::Ok); 
     390                          return NULL; 
    362391                        } 
    363392 
    364                         rendererWidget =  
    365                                 new QtGlRendererWidget(preprocessor->mSceneGraph, 
    366                                                                            preprocessor->mViewCellsManager, 
    367                                                                            preprocessor->mKdTree); 
    368  
    369                         rendererWidget->Show(); 
    370  
    371                         QtGlViewer *viewer =  
    372                                 new QtGlViewer(NULL, (QtGlRendererWidget *)rendererWidget); 
    373  
    374                         viewer->show(); 
    375                         guiSupported = true;  
    376                 } 
    377  
    378                 int frames; 
    379                 Environment::GetSingleton()->GetIntValue("Preprocessor.pvsRenderErrorSamples", frames); 
    380                  
    381                 if (1)//frames)  
    382                 { 
    383                         // NOTE: render texture should be power of 2 and square 
    384                         // renderer must be initialised 
    385                         // $$matt 
    386                         preprocessor->renderer =  
    387                                 new QtGlRendererBuffer(1024, 1024, 
    388                                                                            preprocessor->mSceneGraph, 
    389                                                                            preprocessor->mViewCellsManager, 
    390                                                                            preprocessor->mKdTree); 
    391                 } 
    392  
     393                  rendererWidget =  
     394                        new QtGlRendererWidget(preprocessor->mSceneGraph, 
     395                                                                   preprocessor->mViewCellsManager, 
     396                                                                   preprocessor->mKdTree); 
     397                   
     398                  rendererWidget->Show(); 
     399                   
     400                  QtGlViewer *viewer =  
     401                        new QtGlViewer(NULL, (QtGlRendererWidget *)rendererWidget); 
     402                   
     403                  viewer->show(); 
     404                  guiSupported = true;  
     405                } 
     406                 
     407                 
    393408                bool exportRandomViewCells; 
    394409                Environment::GetSingleton()->GetBoolValue("ViewCells.exportRandomViewCells", 
     
    410425                        preprocessor->ComputeRenderError(); 
    411426                }*/ 
    412  
     427                 
    413428                qApp->exec(); 
    414429#endif 
  • GTP/trunk/Lib/Vis/Preprocessing/src/preprocessor.pro

    r2042 r2049  
    4747} 
    4848 
    49 win32:LIBS += devil.lib ilu.lib ilut.lib glew32.lib zlib.lib zdll.lib zziplibd.lib 
     49win32:LIBS += devil.lib ilu.lib ilut.lib glew32.lib zlib.lib 
     50 
     51#zdll.lib 
     52#zziplibd.lib 
    5053 
    5154CONFIG(release) { 
  • GTP/trunk/Lib/Vis/Preprocessing/src/run_test2

    r2039 r2049  
    3131VIEWCELLS=../data/vienna/vienna_cropped-gradient-viewcells.xml.gz 
    3232 
    33 PREFIX=../work/plots/osp-1e5 
     33PREFIX=../work/plots/osp-TEST-1e5 
    3434 
    3535#SCENE=../data/atlanta/atlanta2.x3d 
  • GTP/trunk/Lib/Vis/Preprocessing/src/run_test_pompeii

    r2043 r2049  
    1010PREFIX=../work/plots/osp-pompeii4-1e5 
    1111 
    12 $COMMAND -preprocessor=combined -scene_filename=$SCENE -view_cells_filename=$VIEWCELLS \ 
    13  -rss_distributions=mutation+object_direction+spatial -view_cells_filter_max_size=1 \ 
    14  -preprocessor_visibility_file=$PREFIX-i-mixed-b1-n4n.xml \ 
    15  -preprocessor_stats=$PREFIX-i-mixed-b1-n4n.log \ 
    16  -preprocessor_histogram_file=$PREFIX-i-mixed-b1-n4n.hlog 
     12 
     13# $COMMAND -preprocessor=combined -scene_filename=$SCENE -view_cells_filename=$VIEWCELLS \ 
     14#  -rss_distributions=mutation+object_direction+spatial -view_cells_filter_max_size=1 \ 
     15#  -preprocessor_visibility_file=$PREFIX-i-mixed-b1-n4n.xml \ 
     16#  -preprocessor_stats=$PREFIX-i-mixed-b1-n4n.log \ 
     17#  -preprocessor_histogram_file=$PREFIX-i-mixed-b1-n4n.hlog 
    1718 
    1819# # n - no origin mutation, q=2, reverse samples 
  • GTP/trunk/Lib/Vis/Preprocessing/src/run_test_powerplant

    r2022 r2049  
    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- -preprocessor_detect_empty_viewspace-" 
     4COMMAND="../scripts/preprocessor.sh -preprocessor_quit_on_finish+ -preprocessor_use_gl_renderer- -preprocessor_evaluate_filter- -preprocessor_detect_empty_viewspace+ -total_samples=500000000" 
    55 
    66 
     
    1212 
    1313 
    14 $COMMAND -preprocessor=combined -scene_filename=$SCENE -view_cells_filename=$VIEWCELLS \ 
    15  -rss_distributions=mutation+object_direction+spatial -view_cells_filter_max_size=1 \ 
    16  -view_cells_use_kd_pvs+ -af_use_kd_pvs+ \ 
    17  -preprocessor_visibility_file=$PREFIX-i-mixed-b1-n4a.xml \ 
    18  -preprocessor_stats=$PREFIX-i-mixed-b1-n4a.log \ 
    19  -preprocessor_histogram_file=$PREFIX-i-mixed-b1-n4a.hlog 
     14# $COMMAND -preprocessor=combined -scene_filename=$SCENE -view_cells_filename=$VIEWCELLS \ 
     15# -rss_distributions=mutation+object_direction+spatial -view_cells_filter_max_size=1 \ 
     16# -view_cells_use_kd_pvs+ -af_use_kd_pvs+ \ 
     17# -preprocessor_visibility_file=$PREFIX-i-mixed-b1-n4a.xml \ 
     18# -preprocessor_stats=$PREFIX-i-mixed-b1-n4a.log \ 
     19# -preprocessor_histogram_file=$PREFIX-i-mixed-b1-n4a.hlog 
    2020 
    2121# n - no origin mutation, q=2, reverse samples 
    2222 
    23 # $COMMAND -preprocessor=sampling -scene_filename=$SCENE -view_cells_filename=$VIEWCELLS \ 
    24 # -preprocessor_visibility_file=$PREFIX-r-reference.xml \ 
    25 # -view_cells_filter_max_size=1 -preprocessor_stats=$PREFIX-r-reference.log \ 
    26 # -preprocessor_histogram_file=$PREFIX-r-reference.hlog 
     23$COMMAND -preprocessor=sampling -scene_filename=$SCENE -view_cells_filename=$VIEWCELLS \ 
     24-preprocessor_visibility_file=$PREFIX-r-reference.xml \ 
     25-view_cells_filter_max_size=1 -preprocessor_stats=$PREFIX-r-reference.log \ 
     26-preprocessor_histogram_file=$PREFIX-r-reference.hlog 
    2727 
    28 # $COMMAND -scene_filename=$SCENE -view_cells_filename=$VIEWCELLS \ 
    29 # -rss_distributions=direction -view_cells_filter_max_size=1 \ 
    30 # -preprocessor_visibility_file=$PREFIX-r-reference-global.xml \ 
    31 # -preprocessor_stats=$PREFIX-r-reference-global.log \ 
    32 # -preprocessor_histogram_file=$PREFIX-r-reference-global.hlog 
     28$COMMAND -scene_filename=$SCENE -view_cells_filename=$VIEWCELLS \ 
     29 -rss_distributions=direction -view_cells_filter_max_size=1 \ 
     30 -preprocessor_visibility_file=$PREFIX-r-reference-global.xml \ 
     31 -preprocessor_stats=$PREFIX-r-reference-global.log \ 
     32 -preprocessor_histogram_file=$PREFIX-r-reference-global.hlog 
    3333 
    3434#mutation+object_direction+ 
Note: See TracChangeset for help on using the changeset viewer.