Ignore:
Timestamp:
02/06/06 02:16:36 (18 years ago)
Author:
bittner
Message:

slider visualization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/GtpVisibilityPreprocessor/src/GlRenderer.cpp

    r589 r599  
    103103  if (vc->GetMesh()) { 
    104104 
    105         if (vc->GetValid())  
    106           glColor3f(0,1,0); 
    107         else 
    108           glColor3f(0,0,1); 
     105        if (!mUseFalseColors) { 
     106          if (vc->GetValid())  
     107                glColor3f(0,1,0); 
     108          else 
     109                glColor3f(0,0,1); 
     110        } 
    109111         
    110112        RenderMesh(vc->GetMesh()); 
    111   } 
    112 } 
     113  } else { 
     114        // render viewcells in the subtree 
     115        if (!vc->IsLeaf()) { 
     116          ViewCellInterior *vci = (ViewCellInterior *) vc; 
     117 
     118          ViewCellContainer::iterator it = vci->mChildren.begin(); 
     119          for (; it != vci->mChildren.end(); ++it) { 
     120                RenderViewCell(*it); 
     121          } 
     122        } 
     123  } 
     124} 
     125 
    113126 
    114127void 
     
    684697GlRendererWidget::paintGL() 
    685698{ 
    686   RenderErrors(); 
    687   RenderInfo(); 
     699  if (mRenderViewCells) 
     700        RenderViewCells(); 
     701  else { 
     702        RenderErrors(); 
     703        RenderInfo(); 
     704  } 
     705   
    688706  mFrame++; 
    689707} 
     
    720738        updateGL(); 
    721739        break; 
     740  case Qt::Key_V: 
     741        mRenderViewCells = !mRenderViewCells; 
     742        updateGL(); 
     743        break; 
    722744  default: 
    723745        e->ignore(); 
     
    727749} 
    728750 
     751GlRendererWidget::GlRendererWidget(SceneGraph *sceneGraph, 
     752                                                                   ViewCellsManager *viewcells, 
     753                                                                   KdTree *tree, 
     754                                                                   QWidget * parent, 
     755                                                                   const QGLWidget * shareWidget, 
     756                                                                   Qt::WFlags f 
     757                                                                   ) 
     758  : 
     759  GlRenderer(sceneGraph, viewcells, tree), QGLWidget(parent, shareWidget, f) 
     760{ 
     761  mTopView = false; 
     762  mRenderViewCells = false; 
     763 
     764  QSlider *slider = new QSlider(this); 
     765  slider->show(); 
     766  slider->setRange(1, 10000); 
     767 
     768  connect(slider, SIGNAL(valueChanged(int)), this, SLOT(SetViewcellGranularity(int))); 
     769} 
     770 
     771void 
     772GlRendererWidget::SetViewcellGranularity(int number) 
     773{ 
     774  mViewCellsManager->CollectViewCells(number); 
     775  updateGL(); 
     776} 
     777 
     778void 
     779GlRendererWidget::RenderViewCells() 
     780{ 
     781  mUseFalseColors = true; 
     782 
     783  SetupCamera(); 
     784  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
     785 
     786  int i; 
     787  ViewCellContainer &viewcells = mViewCellsManager->GetViewCells(); 
     788  for (i=0; i < viewcells.size(); i++) { 
     789        ViewCell *vc = viewcells[i]; 
     790        Mesh *m = vc->GetMesh(); 
     791        float r = RandomValue(0.5, 1.0); 
     792        float g = RandomValue(0.5, 1.0); 
     793        float b = RandomValue(0.5, 1.0); 
     794 
     795        glColor3f(r, g, b); 
     796        //SetupMaterial(m->mMaterial); 
     797 
     798        RenderViewCell(vc); 
     799  } 
     800 
     801} 
    729802 
    730803void GlRendererBuffer::SampleBeamContributions(Intersectable *sourceObject, 
Note: See TracChangeset for help on using the changeset viewer.