Changeset 1581 for GTP/trunk/Lib/Vis
- Timestamp:
- 10/07/06 22:54:13 (18 years ago)
- Location:
- GTP/trunk/Lib/Vis/Preprocessing/src
- Files:
-
- 2 added
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Vis/Preprocessing/src/AxisAlignedBox3.cpp
r1486 r1581 302 302 const float dirEps = 1e-8f; 303 303 register float minx, maxx; 304 ray.ComputeInvertedDir();305 304 306 305 if (fabs(ray.dir.x) < dirEps) { -
GTP/trunk/Lib/Vis/Preprocessing/src/GlRenderer.cpp
r1146 r1581 10 10 #include "KdTree.h" 11 11 #include "Environment.h" 12 #include "Triangle3.h" 13 #include "IntersectableWrapper.h" 12 14 13 15 //#include <Cg/cg.h> … … 92 94 93 95 void 96 GlRenderer::RenderTriangle(TriangleIntersectable *object) 97 { 98 Triangle3 &t = object->GetItem(); 99 glBegin(GL_TRIANGLES); 100 glVertex3f(t.mVertices[0].x, t.mVertices[0].y, t.mVertices[0].z); 101 glVertex3f(t.mVertices[1].x, t.mVertices[1].y, t.mVertices[1].z); 102 glVertex3f(t.mVertices[2].x, t.mVertices[2].y, t.mVertices[2].z); 103 glEnd(); 104 } 105 106 void 94 107 GlRenderer::RenderIntersectable(Intersectable *object) 95 108 { … … 105 118 break; 106 119 case Intersectable::VIEW_CELL: 107 108 120 RenderViewCell(dynamic_cast<ViewCell *>(object)); 121 break; 109 122 case Intersectable::TRANSFORMED_MESH_INSTANCE: 110 RenderTransformedMeshInstance(dynamic_cast<TransformedMeshInstance *>(object)); 111 break; 123 RenderTransformedMeshInstance(dynamic_cast<TransformedMeshInstance *>(object)); 124 break; 125 case Intersectable::TRIANGLE_INTERSECTABLE: 126 RenderTriangle(dynamic_cast<TriangleIntersectable *>(object)); 127 break; 112 128 default: 113 129 cerr<<"Rendering this object not yet implemented\n"; … … 118 134 } 119 135 136 void 137 GlRenderer::RenderRays(const VssRayContainer &rays) 138 { 139 VssRayContainer::const_iterator it = rays.begin(), it_end = rays.end(); 140 141 glBegin(GL_LINES); 142 for (; it != it_end; ++it) { 143 VssRay *ray = *it; 144 float importance = log10(1e3*ray->mWeightedPvsContribution)/3.0f; 145 // cout<<"w="<<ray->mWeightedPvsContribution<<" r="<<ray->mWeightedPvsContribution; 146 glColor3f(importance, importance, importance); 147 glVertex3fv(&ray->mOrigin.x); 148 glVertex3fv(&ray->mTermination.x); 149 } 150 glEnd(); 151 } 120 152 121 153 void … … 310 342 glMatrixMode(GL_MODELVIEW); 311 343 } 344 345 312 346 313 347 void -
GTP/trunk/Lib/Vis/Preprocessing/src/GlRenderer.h
r1387 r1581 24 24 class OcclusionQuery; 25 25 class TransformedMeshInstance; 26 class TriangleIntersectable; 26 27 27 28 struct VssRayContainer; … … 99 100 void SetupMaterial(Material *m); 100 101 virtual void SetupCamera(); 101 102 103 void 104 RenderRays(const VssRayContainer &rays); 105 106 void 107 RenderTriangle(TriangleIntersectable *object); 108 102 109 bool 103 110 RenderScene(); -
GTP/trunk/Lib/Vis/Preprocessing/src/IntersectableWrapper.h
r1344 r1581 31 31 */ 32 32 T GetItem() const; 33 34 33 /** See get. 35 34 */ -
GTP/trunk/Lib/Vis/Preprocessing/src/Makefile
r1579 r1581 1 1 ############################################################################# 2 2 # Makefile for building: preprocessor 3 # Generated by qmake (2.00a) (Qt 4.1.2) on: pá 6. X 16:24:1420063 # Generated by qmake (2.00a) (Qt 4.1.2) on: so 7. X 21:56:30 2006 4 4 # Project: preprocessor.pro 5 5 # Template: app -
GTP/trunk/Lib/Vis/Preprocessing/src/Preprocessor.cpp
r1570 r1581 428 428 if (mLoadViewCells) 429 429 { 430 431 432 433 434 435 436 430 Environment::GetSingleton()->GetStringValue("ViewCells.filename", buf); 431 cout << "loading view cells from " << buf << endl; 432 433 mViewCellsManager = ViewCellsManager::LoadViewCells(buf, &mObjects, true); 434 435 if (!mViewCellsManager) 436 return false; 437 437 } 438 438 else … … 488 488 489 489 mViewCellsManager->SetRenderer(mRenderSimulator); 490 490 491 491 if (mUseGlRenderer || mUseGlDebugger) 492 {492 { 493 493 // NOTE: render texture should be power of 2 and square 494 494 // renderer must be initialised 495 495 // $$matt 496 // renderer = new GlRendererBuffer(1024, 768, mSceneGraph, mViewCellsManager, mKdTree);496 // renderer = new GlRendererBuffer(1024, 768, mSceneGraph, mViewCellsManager, mKdTree); 497 497 // renderer->makeCurrent(); 498 498 499 } 500 499 } 500 501 mViewCellsManager->SetPreprocessor(this); 501 502 return true; 502 503 } … … 505 506 bool Preprocessor::ConstructViewCells() 506 507 { 507 508 509 510 511 512 513 514 508 // construct view cells using it's own set of samples 509 mViewCellsManager->Construct(this); 510 511 // visualizations and statistics 512 Debug << "finished view cells:" << endl; 513 mViewCellsManager->PrintStatistics(Debug); 514 515 return true; 515 516 } 516 517 … … 900 901 } 901 902 903 if (i % 10000 == 0) 904 cout<<"."; 905 902 906 #if DEBUB_RAYCAST 903 907 long t2 = GetTime(); 904 if (i % 10000 == 0)905 cout<<".";906 907 908 if (castDoubleRays) 908 909 cout << 2 * rays.size() / (1e3f * TimeDiff(t1, t2)) << "M rays/s" << endl; -
GTP/trunk/Lib/Vis/Preprocessing/src/PreprocessorThread.cpp
r1457 r1581 24 24 Camera camera; 25 25 26 if ( 0)26 if (1) 27 27 { 28 28 // camera.LookAtBox(mPreprocessor->mKdTree->GetBox()); … … 36 36 } 37 37 38 if ( 0) {38 if (2) { 39 39 camera.LookInBox(mPreprocessor->mKdTree->GetBox()); 40 40 camera.SetPosition(camera.mPosition + Vector3(-250,0,-550)); … … 42 42 } 43 43 44 if ( 0) {44 if (3) { 45 45 camera.SetPosition( mPreprocessor->mKdTree->GetBox().Center() - Vector3(0,-100,0) ); 46 46 camera.SetDirection(Vector3(1, 0, 0)); -
GTP/trunk/Lib/Vis/Preprocessing/src/QtGlRenderer.cpp
r1387 r1581 10 10 #include "KdTree.h" 11 11 #include "Environment.h" 12 #include "RssPreprocessor.h" 13 #include "RssTree.h" 14 #include "Trackball.h" 15 16 12 17 #include <Cg/cg.h> 13 18 #include <Cg/cgGL.h> … … 17 22 namespace GtpVisibilityPreprocessor { 18 23 24 25 #define CAMERA_VIEW_WIDTH 0.5f 26 19 27 class ViewCellsManager; 20 28 … … 380 388 makeCurrent(); 381 389 382 383 390 SetupProjection(GetWidth(), GetHeight()); 384 385 391 386 392 for (int i=0; i < mPvsStatFrames; i++) { … … 797 803 798 804 glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, depthMapSize, 799 depthMapSize, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, NULL); 805 depthMapSize, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, NULL); 806 800 807 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); 801 808 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); … … 906 913 907 914 void 908 QtGlRendererWidget::Setup Projection(const int w, const int h, const float angle)909 { 910 if (!mTopView) 911 GlRenderer::SetupProjection(w, h, angle);912 else { 913 glViewport(0, 0, w ,h);915 QtGlRendererWidget::SetupCameraProjection(const int w, const int h, const float angle) 916 { 917 if (!mTopView) { 918 int ww = w*CAMERA_VIEW_WIDTH; 919 int hh = h; 920 glViewport(0, 0, ww, hh); 914 921 glMatrixMode(GL_PROJECTION); 915 922 glLoadIdentity(); 916 gluPerspective( 50.0, 1.0, 0.1, 20.0*Magnitude(mSceneGraph->GetBox().Diagonal()));923 gluPerspective(angle, ww/(float)hh, 0.1, 2.0*Magnitude(mSceneGraph->GetBox().Diagonal())); 917 924 glMatrixMode(GL_MODELVIEW); 918 } 925 } else { 926 int ww = w*CAMERA_VIEW_WIDTH; 927 int hh = h; 928 glViewport(0, 0, ww, hh); 929 glMatrixMode(GL_PROJECTION); 930 glLoadIdentity(); 931 gluPerspective(50.0, ww/(float)hh, 0.1, 20.0*Magnitude(mSceneGraph->GetBox().Diagonal())); 932 glMatrixMode(GL_MODELVIEW); 933 } 934 } 935 936 void 937 QtGlRendererWidget::SetupManipulatorProjection(const int w, const int h, const float angle) 938 { 939 int ww = w*(1.0f - CAMERA_VIEW_WIDTH); 940 int hh = h; 941 glViewport(w - ww, 0, ww, hh); 942 glMatrixMode(GL_PROJECTION); 943 glLoadIdentity(); 944 gluPerspective(angle, ww/(float)hh, 1.0f, 40.0f); 945 glMatrixMode(GL_MODELVIEW); 919 946 } 920 947 … … 922 949 QtGlRendererWidget::RenderPvs() 923 950 { 924 SetupCamera(); 925 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 951 926 952 927 953 ViewCell *viewcell = NULL; … … 987 1013 mUseFalseColors = true; 988 1014 989 SetupCamera();990 1015 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 991 1016 … … 1125 1150 int x = e->pos().x(); 1126 1151 int y = e->pos().y(); 1127 1128 if (e->modifiers() & Qt::ControlModifier) { 1129 mViewPoint.y += (y-mousePoint.y)*MOVE_SENSITIVITY/2.0; 1130 mViewPoint.x += (x-mousePoint.x)*MOVE_SENSITIVITY/2.0; 1152 1153 int diffx = -(mousePoint.x - x); 1154 int diffy = -(mousePoint.y - y); 1155 1156 if (x < width()*CAMERA_VIEW_WIDTH) { 1157 if (e->modifiers() & Qt::ControlModifier) { 1158 mViewPoint.y += (y-mousePoint.y)*MOVE_SENSITIVITY/2.0; 1159 mViewPoint.x += (x-mousePoint.x)*MOVE_SENSITIVITY/2.0; 1160 } else { 1161 mViewPoint += mViewDirection*((mousePoint.y - y)*MOVE_SENSITIVITY); 1162 float adiff = TURN_ANGLE*(x - mousePoint.x)*-TURN_SENSITIVITY; 1163 float angle = atan2(mViewDirection.x, mViewDirection.z); 1164 mViewDirection.x = sin(angle+adiff); 1165 mViewDirection.z = cos(angle+adiff); 1166 } 1131 1167 } else { 1132 mViewPoint += mViewDirection*((mousePoint.y - y)*MOVE_SENSITIVITY); 1133 float adiff = TURN_ANGLE*(x - mousePoint.x)*-TURN_SENSITIVITY; 1134 float angle = atan2(mViewDirection.x, mViewDirection.z); 1135 mViewDirection.x = sin(angle+adiff); 1136 mViewDirection.z = cos(angle+adiff); 1168 float W = width()*(1.0f-CAMERA_VIEW_WIDTH); 1169 float H = height(); 1170 int xx = x - width()*CAMERA_VIEW_WIDTH; 1171 int mxx = mousePoint.x - width()*CAMERA_VIEW_WIDTH; 1172 if (e->modifiers() & Qt::ControlModifier) { 1173 mManipulatorScale = mManipulatorScale * (1.0 + (((float) (-diffy)) / H)); 1174 } else { 1175 float quat[4]; 1176 trackball(quat, 1177 (2.0 * mxx - W) / W, 1178 (H - 2.0 * mousePoint.y) / H, 1179 (2.0 * xx - W) / W, 1180 (H - 2.0 * y) / H 1181 ); 1182 add_quats(quat, mManipulatorLastQuat, mManipulatorLastQuat); 1183 } 1137 1184 } 1138 1185 … … 1153 1200 QtGlRendererWidget::resizeGL(int w, int h) 1154 1201 { 1155 Setup Projection(w, h);1202 SetupCameraProjection(w, h); 1156 1203 updateGL(); 1157 1204 } … … 1162 1209 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 1163 1210 1164 1165 if (!mRenderViewCells) { 1166 if (mRenderErrors) 1211 if (1) { 1212 SetupCameraProjection(width(), height()); 1213 SetupCamera(); 1214 1215 if (mRenderErrors) { 1167 1216 RenderErrors(); 1168 else1217 } else { 1169 1218 RenderPvs(); 1219 } 1220 1170 1221 RenderInfo(); 1171 } else {1172 RenderViewCells();1173 1174 mWireFrame = true;1175 RenderScene();1176 mWireFrame = false;1177 1178 RenderInfo();1179 1222 } 1180 1223 1181 1224 mFrame++; 1225 1226 if (1) { 1227 // render into the right side of the window buffer 1228 SetupManipulatorProjection(width(), height()); 1229 SetupManipulator(); 1230 1231 1232 if (mRenderViewCells) 1233 RenderViewCells(); 1234 1235 RenderPvs(); 1236 1237 if (0) { 1238 mWireFrame = true; 1239 RenderScene(); 1240 mWireFrame = false; 1241 } 1242 1243 if (mShowRays) { 1244 RssPreprocessor *p = (RssPreprocessor *)mViewCellsManager->GetPreprocessor(); 1245 VssRayContainer rays; 1246 p->mRssTree->CollectRays(rays, 10000); 1247 RenderRays(rays); 1248 } 1249 1250 } 1251 mFrame++; 1252 1182 1253 } 1183 1254 … … 1222 1293 1223 1294 void 1295 QtGlRendererWidget::SetupManipulator() 1296 { 1297 float m[4][4]; 1298 1299 glLoadIdentity(); 1300 gluLookAt(0.0, 0.0, 30.0, /* eye is at (0,0,30) */ 1301 0.0, 0.0, 0.0, /* center is at (0,0,0) */ 1302 0.0, 1.0, 0.); /* up is in positive Y direction */ 1303 1304 build_rotmatrix(m, mManipulatorLastQuat); 1305 glMultMatrixf(&m[0][0]); 1306 1307 float scale = mManipulatorScale*20.0f/Magnitude(mSceneGraph->GetBox().Diagonal()); 1308 glScalef(scale, scale, scale); 1309 1310 Vector3 t = -mSceneGraph->GetBox().Center(); 1311 glTranslatef(t.x, t.y, t.z); 1312 1313 } 1314 1315 void 1224 1316 QtGlRendererWidget::keyPressEvent ( QKeyEvent * e ) 1225 1317 { … … 1227 1319 case Qt::Key_T: 1228 1320 mTopView = !mTopView; 1229 Setup Projection(width(), height());1321 SetupCameraProjection(width(), height()); 1230 1322 updateGL(); 1231 1323 break; … … 1248 1340 1249 1341 1250 QtGlRendererWidget::QtGlRendererWidget(SceneGraph *sceneGraph, 1342 QtGlRendererWidget::QtGlRendererWidget( 1343 SceneGraph *sceneGraph, 1251 1344 ViewCellsManager *viewcells, 1252 1345 KdTree *tree, … … 1265 1358 mRenderErrors = false; 1266 1359 mRenderFilter = true; 1267 1360 mManipulatorScale = 1.0f; 1361 trackball(mManipulatorLastQuat, 0.0f, 0.0f, 0.0f, 0.0f); 1268 1362 bool tmp; 1269 1363 … … 1281 1375 mPvsSize = 0; 1282 1376 mRenderError = 0.0f; 1377 mShowRays = false; 1378 1283 1379 mControlWidget = new QtRendererControlWidget(NULL); 1284 1380 … … 1302 1398 this, SLOT(SetUseSpatialFilter(bool))); 1303 1399 1304 1400 connect(mControlWidget, 1401 SIGNAL(SetShowRays(bool)), 1402 this, 1403 SLOT(SetShowRays(bool))); 1404 1405 resize(1000, 500); 1305 1406 mControlWidget->show(); 1306 1407 } … … 1368 1469 // init ortographic projection 1369 1470 glMatrixMode(GL_PROJECTION); 1471 1472 1370 1473 glPushMatrix(); 1371 1474 … … 1484 1587 mUseFalseColors = true; 1485 1588 1486 SetupCamera(); 1589 glPushAttrib(GL_CURRENT_BIT | GL_ENABLE_BIT | GL_POLYGON_BIT); 1590 1487 1591 glEnable(GL_CULL_FACE); 1488 1592 //glDisable(GL_CULL_FACE); … … 1529 1633 } 1530 1634 1531 glDisable(GL_CLIP_PLANE0); 1635 1636 glPopAttrib(); 1532 1637 1533 1638 } … … 1633 1738 cb->setChecked(false); 1634 1739 connect(cb, SIGNAL(toggled(bool)), SIGNAL(SetShowPvsSizes(bool))); 1740 1741 cb = new QCheckBox("Show rays", hbox); 1742 hlayout->addWidget(cb); 1743 cb->setChecked(false); 1744 connect(cb, SIGNAL(toggled(bool)), SIGNAL(SetShowRays(bool))); 1635 1745 1636 1746 vbox->resize(800,100); -
GTP/trunk/Lib/Vis/Preprocessing/src/QtGlRenderer.h
r1387 r1581 31 31 class TransformedMeshInstance; 32 32 33 33 34 struct VssRayContainer; 34 35 struct PvsRenderStatistics; … … 149 150 void SetSpatialFilterSize(int); 150 151 152 void SetShowRays(bool); 151 153 void SetRenderFilter(bool); 152 154 void SetUseFilter(bool); … … 180 182 bool mUseSpatialFilter; 181 183 bool mShowRenderCost; 182 184 bool mShowRays; 185 183 186 bool mShowPvsSizes; 184 187 float mSpatialFilterSize; … … 191 194 float mRenderError; 192 195 196 197 float mManipulatorLastQuat[4]; 198 float mManipulatorScale; 199 193 200 QtRendererControlWidget *mControlWidget; 194 201 … … 202 209 203 210 virtual void SetupCamera(); 211 // setup a transformation for manipulator 212 void 213 SetupManipulator(); 204 214 205 215 void initializeGL() { … … 229 239 virtual int GetHeight() const { return height(); } 230 240 231 virtual void 232 SetupProjection(const int w, const int h, const float angle = 70.0f); 241 // virtual void 242 // SetupProjection(const int w, const int h, const float angle = 70.0f); 243 244 virtual void 245 SetupCameraProjection(const int w, const int h, const float angle = 70.0f); 246 247 virtual void 248 SetupManipulatorProjection(const int w, const int h, const float angle = 70.0f); 233 249 234 250 void … … 280 296 void SetShowViewCells(bool b) { 281 297 mRenderViewCells = b; 298 updateGL(); 299 } 300 301 void SetShowRays(bool b) { 302 mShowRays = b; 282 303 updateGL(); 283 304 } -
GTP/trunk/Lib/Vis/Preprocessing/src/RssPreprocessor.cpp
r1563 r1581 918 918 } 919 919 920 921 // do not delete rss tree now - can be used for visualization.. 922 #if 0 920 923 Debug<<"Deleting RSS tree...\n"; 921 924 delete mRssTree; 922 925 Debug<<"Done.\n"; 923 926 #endif 924 927 925 928 //mViewCellsManager->ExportViewCells("visibility.xml", -
GTP/trunk/Lib/Vis/Preprocessing/src/RssTree.cpp
r1563 r1581 2881 2881 int desired = min(number, (int)allRays.size()); 2882 2882 float prob = desired/(float)allRays.size(); 2883 //int skip = allRays.size()/desired; 2883 2884 while (rays.size() < desired) { 2884 2885 VssRayContainer::const_iterator it = allRays.begin(); -
GTP/trunk/Lib/Vis/Preprocessing/src/RssTree.h
r1233 r1581 1013 1013 ); 1014 1014 1015 1015 int 1016 1016 CollectRays(VssRayContainer &rays, 1017 1017 const int number); -
GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsManager.cpp
r1580 r1581 1856 1856 { 1857 1857 if (viewcell->GetPvs().GetSampleContribution( 1858 ray.mTerminationObject,1859 ray.mPdf,1860 contribution))1861 {1858 ray.mTerminationObject, 1859 ray.mPdf, 1860 contribution)) 1861 { 1862 1862 ++ ray.mPvsContribution; 1863 ray.mRelativePvsContribution += contribution; 1864 } 1863 } 1864 ray.mRelativePvsContribution += contribution; 1865 1865 1866 } 1866 1867 1867 1868 #if SAMPLE_ORIGIN_OBJECTS 1868 1869 1869 1870 // for directional sampling it is important to count only contributions 1870 1871 // made in one direction!!! 1871 1872 // the other contributions of this sample will be counted for the oposite ray! 1872 1873 1873 1874 if (ray.mOriginObject && 1874 1875 viewcell->GetPvs().GetSampleContribution(ray.mOriginObject, 1875 1876 ray.mPdf, 1876 1877 contribution)) 1877 {1878 { 1878 1879 ++ ray.mPvsContribution; 1879 ray.mRelativePvsContribution += contribution;1880 }1880 } 1881 ray.mRelativePvsContribution += contribution; 1881 1882 #endif 1882 1883 } … … 5516 5517 { 5517 5518 ++ ray.mPvsContribution; 5518 ray.mRelativePvsContribution += contribution;5519 5519 } 5520 ray.mRelativePvsContribution += contribution; 5520 5521 #endif 5521 5522 } -
GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsManager.h
r1580 r1581 430 430 bool GetExportPvs() const; 431 431 432 ///////////////////////////// 433 // static members 434 435 /** Loads view cells from file. The view cells manager is created with 436 respect to the loaded view cells. 437 438 @param filename the filename of the view cells 439 @param objects the scene objects 440 @param finalizeViewCells if the view cells should be post processed, i.e. 441 a mesh is created representing the geometry 442 @param bconverter a conversion routine working with the similarities of bounding 443 boxes: if there is a certain similarity of overlap between bounding boxes, two tested 444 candidate objects are considered to be the same objects 445 @returns the view cells manager if loading was successful, false otherwise 446 */ 447 static ViewCellsManager *LoadViewCells(const string &filename, 448 ObjectContainer *objects, 449 const bool finalizeViewCells, 450 BoundingBoxConverter *bconverter = NULL); 432 433 Preprocessor *GetPreprocessor() { 434 return mPreprocessor; 435 } 436 437 void SetPreprocessor(Preprocessor *p) { 438 mPreprocessor = p; 439 } 451 440 452 441 … … 731 720 732 721 ~BspViewCellsManager(); 733 722 734 723 int ConstructSubdivision(const ObjectContainer &objects, 735 724 const VssRayContainer &rays); -
GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsParser.cpp
r1563 r1581 439 439 if (element == "BoundingBox") 440 440 { 441 cout << "b";441 // cout << "b"; 442 442 StartBoundingBox(attributes); 443 443 } -
GTP/trunk/Lib/Vis/Preprocessing/src/default.env
r1579 r1581 14 14 # filename ../data/vienna/vienna-buildings.x3d 15 15 # filename ../data/vienna/city1500_flat_1.x3d 16 #filename ../data/vienna/vienna-buildings.x3d;../data/vienna/vienna-roofs.x3d 16 #filename ../data/vienna/vienna-buildings.x3d;../data/vienna/vienna-roofs.x3d;../data/vienna/vienna-roads.x3d 17 17 #;../data/vienna/vienna-plane.x3d;../data/vienna/vienna-roads.x3d 18 18 # filename ../data/vienna/viewcells-25-sel.x3d … … 44 44 type rss 45 45 # type render 46 detectEmptyViewSpace true46 detectEmptyViewSpace false 47 47 # pvsRenderErrorSamples 0 48 48 pvsRenderErrorSamples 5000 … … 54 54 visibilityFile visibility.xml 55 55 loadMeshes true 56 loadKdTree false 57 exportKdTree false 58 56 59 } 57 60 … … 73 76 samplesPerPass 1000 74 77 initialSamples 1000000 75 vssSamples 1000000078 vssSamples 50000000 76 79 vssSamplesPerPass 1000000 77 80 useImportanceSampling true … … 189 192 exportToFile true 190 193 loadFromFile true 191 194 192 195 #type kdTree 193 196 #type vspKdTree 194 197 #type bspTree 195 198 type vspBspTree 199 #type vspOspTree 196 200 #type sceneDependent 197 201 … … 256 260 # filename ../data/soda/soda5-viewcells.xml 257 261 # filename ../scripts/viewcells_atlanta.xml 258 #filename ../data/soda/soda-viewcells-5000.xml262 filename ../data/soda/soda-viewcells-5000.xml 259 263 # filename ../data/test1/test-viewcells.xml 260 264 261 265 # filename ../data/soda/soda5-viewcell-single.xm 262 filename ../data/soda/soda-viewcells-1000.xml.zip266 # filename ../data/soda/soda-viewcells-1000.xml.zip 263 267 # filename ../data/CityModel/CityModel-viewcells-5000.xml 264 268 # filename ../data/City4M/City4M-viewcells-5000.xml 265 269 270 271 # filename ../data/vienna/vsposp-seq-viewCells.xml.gz 266 272 267 273 # filename ../data/atlanta/viewcells_atlanta3.xml … … 338 344 # minGlobalCostRatio 0.0001 339 345 # $$MAXVIEWCELLS 340 maxViewCells 1 346 maxViewCells 1000 341 347 342 348 -
GTP/trunk/Lib/Vis/Preprocessing/src/main.cpp
r1580 r1581 217 217 preprocessor->mViewCellsManager, 218 218 preprocessor->mKdTree); 219 219 220 220 rendererWidget->Show(); 221 221 guiSupported = true; -
GTP/trunk/Lib/Vis/Preprocessing/src/preprocessor.pro
r1579 r1581 117 117 BvHierarchy.cpp \ 118 118 BoostPreprocessorThread.cpp InternalRayCaster.cpp IntelRayCaster.cpp \ 119 RayCaster.cpp PreprocessorFactory.cpp GvsPreprocessor.cpp 119 RayCaster.cpp PreprocessorFactory.cpp GvsPreprocessor.cpp Trackball.cpp 120 120 121 121
Note: See TracChangeset
for help on using the changeset viewer.