Changeset 599 for trunk/VUT/GtpVisibilityPreprocessor/src/GlRenderer.cpp
- Timestamp:
- 02/06/06 02:16:36 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/GtpVisibilityPreprocessor/src/GlRenderer.cpp
r589 r599 103 103 if (vc->GetMesh()) { 104 104 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 } 109 111 110 112 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 113 126 114 127 void … … 684 697 GlRendererWidget::paintGL() 685 698 { 686 RenderErrors(); 687 RenderInfo(); 699 if (mRenderViewCells) 700 RenderViewCells(); 701 else { 702 RenderErrors(); 703 RenderInfo(); 704 } 705 688 706 mFrame++; 689 707 } … … 720 738 updateGL(); 721 739 break; 740 case Qt::Key_V: 741 mRenderViewCells = !mRenderViewCells; 742 updateGL(); 743 break; 722 744 default: 723 745 e->ignore(); … … 727 749 } 728 750 751 GlRendererWidget::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 771 void 772 GlRendererWidget::SetViewcellGranularity(int number) 773 { 774 mViewCellsManager->CollectViewCells(number); 775 updateGL(); 776 } 777 778 void 779 GlRendererWidget::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 } 729 802 730 803 void GlRendererBuffer::SampleBeamContributions(Intersectable *sourceObject,
Note: See TracChangeset
for help on using the changeset viewer.