Changeset 1387 for GTP/trunk/Lib/Vis


Ignore:
Timestamp:
09/16/06 21:19:22 (18 years ago)
Author:
bittner
Message:

updates to make qt version running again

Location:
GTP/trunk/Lib/Vis/Preprocessing/src
Files:
4 added
8 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/src/GlRenderer.h

    r1161 r1387  
    292292 
    293293 
    294         SceneGraph *mSceneGraph; 
    295         ViewCellsManager *mViewCellsManager; 
    296         KdTree *mKdTree; 
     294  //    SceneGraph *mSceneGraph; 
     295  //    ViewCellsManager *mViewCellsManager; 
     296  //    KdTree *mKdTree; 
    297297}; 
    298298 
  • GTP/trunk/Lib/Vis/Preprocessing/src/KdTree.cpp

    r1344 r1387  
    193193      float costRatio; 
    194194      bool mOnlyDrivingAxis = false; 
    195       if (mOnlyDrivingAxis) { 
     195 
     196          if (mOnlyDrivingAxis) { 
    196197                axis = box.Size().DrivingAxis(); 
    197198                costRatio = BestCostRatio(leaf, 
     
    485486{ 
    486487 
     488#define DEBUG_COST 0 
     489 
     490#if DEBUG_COST 
     491  static int nodeId = -1; 
     492  char filename[256]; 
     493   
     494  static int lastAxis = 100; 
     495  if (axis <= lastAxis) 
     496        nodeId++; 
     497 
     498  lastAxis = axis; 
     499   
     500  sprintf(filename, "sah-cost%d-%d.log", nodeId, axis); 
     501  ofstream costStream; 
     502   
     503  if (nodeId < 100) 
     504        costStream.open(filename); 
     505 
     506#endif 
     507   
    487508  SortSubdivisionCandidates(node, axis); 
    488509   
     
    543564      //      cout<<"pos="<<(*ci).value<<"\t q=("<<ql<<","<<qr<<")\t r=("<<rl<<","<<rr<<")"<<endl; 
    544565      //      cout<<"cost= "<<sum<<endl; 
    545        
     566 
     567#if DEBUG_COST 
     568  if (nodeId < 100) { 
     569        float oldCost = mSahUseFaces ? totalIntersections : node->mObjects.size(); 
     570        float newCost = mCt_div_ci + sum/boxArea; 
     571        float ratio = newCost/oldCost; 
     572        costStream<<(*ci).value<<" "<<ratio<<endl; 
     573  } 
     574#endif 
     575           
    546576      if (sum < minSum) { 
    547577                minSum = sum; 
  • GTP/trunk/Lib/Vis/Preprocessing/src/Makefile

    r1292 r1387  
    11############################################################################# 
    22# Makefile for building: preprocessor 
    3 # Generated by qmake (2.00a) (Qt 4.1.2) on: po 28. VIII 11:32:19 2006 
     3# Generated by qmake (2.00a) (Qt 4.1.2) on: so 16. IX 21:15:03 2006 
    44# Project:  preprocessor.pro 
    55# Template: app 
     
    7171                C:\Qt\4.1.2\mkspecs\features\debug_and_release.prf \ 
    7272                C:\Qt\4.1.2\mkspecs\features\default_post.prf \ 
     73                C:\Qt\4.1.2\mkspecs\features\qt.prf \ 
     74                C:\Qt\4.1.2\mkspecs\features\win32\opengl.prf \ 
     75                C:\Qt\4.1.2\mkspecs\features\moc.prf \ 
    7376                C:\Qt\4.1.2\mkspecs\features\win32\thread.prf \ 
    7477                C:\Qt\4.1.2\mkspecs\features\warn_off.prf \ 
     
    8992C:\Qt\4.1.2\mkspecs\features\debug_and_release.prf: 
    9093C:\Qt\4.1.2\mkspecs\features\default_post.prf: 
     94C:\Qt\4.1.2\mkspecs\features\qt.prf: 
     95C:\Qt\4.1.2\mkspecs\features\win32\opengl.prf: 
     96C:\Qt\4.1.2\mkspecs\features\moc.prf: 
    9197C:\Qt\4.1.2\mkspecs\features\win32\thread.prf: 
    9298C:\Qt\4.1.2\mkspecs\features\warn_off.prf: 
     
    110116distclean: release-distclean debug-distclean FORCE 
    111117        -$(DEL_FILE) Makefile 
     118 
     119release-mocclean: $(MAKEFILE).Release 
     120        $(MAKE) -f $(MAKEFILE).Release mocclean 
     121debug-mocclean: $(MAKEFILE).Debug 
     122        $(MAKE) -f $(MAKEFILE).Debug mocclean 
     123mocclean: release-mocclean debug-mocclean 
     124 
     125release-mocables: $(MAKEFILE).Release 
     126        $(MAKE) -f $(MAKEFILE).Release mocables 
     127debug-mocables: $(MAKEFILE).Debug 
     128        $(MAKE) -f $(MAKEFILE).Debug mocables 
     129mocables: release-mocables debug-mocables 
    112130FORCE: 
    113131 
  • GTP/trunk/Lib/Vis/Preprocessing/src/PreprocessorThread.h

    r1154 r1387  
    1313{ 
    1414public: 
    15         PreprocessorThread(Preprocessor *p); 
    16         virtual ~PreprocessorThread(); 
     15  PreprocessorThread(Preprocessor *p); 
     16  virtual ~PreprocessorThread(); 
     17   
     18  virtual void InitThread() = 0; 
     19  virtual void RunThread() = 0; 
    1720 
    18         virtual void InitThread() = 0; 
    19         virtual void RunThread() = 0; 
    20  
     21  virtual void Main() = 0; 
    2122protected: 
    22         virtual void Main() = 0; 
    23   
    24         Preprocessor *mPreprocessor; 
     23   
     24  Preprocessor *mPreprocessor; 
    2525}; 
    2626 
  • GTP/trunk/Lib/Vis/Preprocessing/src/QtGlRenderer/QtGlRenderer.cpp

    r1252 r1387  
    195195                                                                           ViewCellsManager *viewcells, 
    196196                                                                           KdTree *tree): 
    197 QGLPixelBuffer(QSize(w, h)), GlRendererBuffer(sceneGraph, viewcells, tree) { 
     197  QGLPixelBuffer(QSize(w, h)), 
     198GlRendererBuffer(sceneGraph, viewcells, tree) { 
    198199  
    199200  Environment::GetSingleton()->GetIntValue("Preprocessor.pvsRenderErrorSamples", mPvsStatFrames); 
  • GTP/trunk/Lib/Vis/Preprocessing/src/default.env

    r1299 r1387  
    66Scene { 
    77 
    8 filename ../data/City4M/City4M.obj 
    9 #filename ../data/CityModel/CityModel.obj 
     8# filename ../data/City4M/City4M.obj 
     9# filename ../data/CityModel/CityModel.obj 
    1010# filename ../data/GrandCanyon/grandcanyon1_RotXmin90.obj 
    1111# filename ../data/glasgow/glasgow1.x3d 
    1212#       filename vienna.x3d 
    1313# filename ../data/vienna/vienna-simple.x3d 
    14 #filename ../data/vienna/vienna-buildings.x3d 
    15 #filename ../data/vienna/city1500_flat_1.x3d 
     14# filename ../data/vienna/vienna-buildings.x3d 
     15filename ../data/vienna/city1500_flat_1.x3d 
    1616#filename ../data/vienna/vienna-buildings.x3d;../data/vienna/vienna-roofs.x3d 
    1717#;../data/vienna/vienna-plane.x3d;../data/vienna/vienna-roads.x3d 
    1818# filename ../data/vienna/viewcells-25-sel.x3d 
    1919#filename ../data/atlanta/atlanta2.x3d 
    20 #filename ../data/soda/soda.dat 
     20# filename ../data/soda/soda.dat 
    2121#filename ../data/test1/test2.x3d 
    2222#filename ../data/soda/soda5.dat 
     
    3434        # stored sample rays 
    3535        samplesFilename rays.out 
    36         useGlRenderer false 
     36        useGlRenderer true 
    3737        useGlDebugger false 
    3838# 0 = INTERNAL          1 = MLRT 
     
    5353        visibilityFilterWidth   0.01 
    5454        visibilityFile visibility.xml 
    55         loadPolygonsAsMeshes true 
     55        loadPolygonsAsMeshes false 
    5656} 
    5757 
     
    302302#       filename ../data/soda/soda5-viewcell-single.xm 
    303303#       filename ../data/soda/vienna-viewcell-single.xml 
    304 #       filename ../data/CityModel/CityModel-viewcells-5000.xml 
    305         filename ../data/City4M/City4M-viewcells-5000.xml 
     304        filename ../data/CityModel/CityModel-viewcells-5000.xml 
     305#       filename ../data/City4M/City4M-viewcells-5000.xml 
    306306 
    307307 
  • GTP/trunk/Lib/Vis/Preprocessing/src/main.cpp

    r1344 r1387  
    33#endif 
    44 
    5 #define USE_BOOST 1 
     5#define USE_THREADS 1 
    66 
    77#ifdef UNICODE 
     
    2727#include "SceneGraph.h" 
    2828 
    29 #if USE_BOOST 
     29#if USE_THREADS && !USE_QT 
    3030#include "BoostPreprocessorThread.h" 
    3131#endif 
     
    3636 
    3737#if USE_QT 
    38 #include "QtRenderer/QtGlRenderer.h" 
     38#include "QtPreprocessorThread.h" 
     39#include "QtGlRenderer.h" 
    3940#endif 
    4041 
     
    5152 
    5253 
    53 int LoadMyDll() 
    54 { 
    55         importFunction LoadRenderWidget; 
    56  
    57         // Load DLL file 
    58         HINSTANCE hinstLib = LoadLibrary("../QtGlRenderer/Release/QtGlRenderer.dll"); 
    59  
    60         if (hinstLib == NULL)  
    61         { 
    62                 cout << "ERROR: unable to load DLL\n"; 
    63                 return 1; 
    64         } 
    65    
    66         // Get function pointer 
    67         LoadRenderWidget = (importFunction)GetProcAddress(hinstLib, "LoadRenderWidget"); 
    68    
    69         if (LoadRenderWidget == NULL)  
    70         { 
    71                 cout << "ERROR: unable to find DLL function\n"; 
    72                 return 1; 
    73         } 
    74  
    75         cout << "loading widget ... "; 
    76         // load the render window 
    77         rendererWidget = LoadRenderWidget(preprocessor); 
    78         cout << "finished" << endl; 
    79         // Unload DLL file 
    80         //FreeLibrary(hinstLib); 
    81    
    82         return 0; 
    83 } 
    8454 
    8555 
     
    9565 
    9666 
    97 void DisplayWidget() 
    98 { 
    99         if (!rendererWidget) 
    100         { 
    101                 LoadMyDll(); 
    102         } 
    103          
    104   //rendererWidget->Show(); 
    105 } 
    10667 
    10768 
     
    254215        // create a preprocessor thread (note: capsulates calls to boost fuctions!) 
    255216        //PreprocessorThread *pt = PreprocessorThreadFactory::Create(preprocessor); 
    256 #if USE_BOOST 
    257         BoostPreprocessorThread pt(preprocessor); 
    258 #endif 
     217#if USE_THREADS 
     218        PreprocessorThread *pt; 
     219 
     220#if USE_QT 
     221        pt = new QtPreprocessorThread(preprocessor); 
     222#else 
     223        pt = new BoostPreprocessorThread(preprocessor); 
     224#endif 
     225#endif 
     226 
    259227         
    260228        bool guiSupported = false; 
    261229        if (preprocessor->mUseGlRenderer || preprocessor->mUseGlDebugger) 
    262         { 
     230          { 
    263231                cout << "using gl widget" << endl; 
    264232                // create and run the preprocessor application in a parallel thread 
    265 #if USE_BOOST 
    266                 pt.InitThread(); 
    267 #endif 
    268                 //pt.RunThread(); 
    269  
     233#if USE_THREADS 
     234                pt->InitThread(); 
     235                pt->RunThread(); 
     236#endif 
     237                 
     238#if USE_QT               
    270239                // display the render widget 
    271240                if (!rendererWidget)  
    272241                { 
    273 #if !USE_QT 
    274                         guiSupported = LoadMyDll(); 
    275 #else 
    276                         rendererWidget = new QtGlRendererWidget(preprocessor->mSceneGraph, 
    277                                 preprocessor->mViewCellsManager, 
    278                                 preprocessor->mKdTree); 
    279 #endif 
     242                  // create a qt application first (must be created before any opengl widget ...) 
     243                  QApplication *app = new QApplication(argc, NULL); 
     244                   
     245                  if (!QGLFormat::hasOpenGL() || !QGLPixelBuffer::hasOpenGLPbuffers()) { 
     246                        QMessageBox::information(0, "OpenGL pbuffers",  
     247                                                                         "This system does not support OpenGL/pbuffers.", 
     248                                                                         QMessageBox::Ok); 
     249                        return NULL; 
     250                  } 
     251                   
     252                   
     253                  rendererWidget = new QtGlRendererWidget(preprocessor->mSceneGraph, 
     254                                                                                                  preprocessor->mViewCellsManager, 
     255                                                                                                  preprocessor->mKdTree); 
     256 
     257                  rendererWidget->Show(); 
     258                  guiSupported = true; 
     259 
     260                   
    280261                } 
    281262 
    282         } 
     263                qApp->exec(); 
     264                 
     265#endif 
     266          } 
    283267         
    284268        if (!guiSupported) { 
     
    289273        if (!(preprocessor->mUseGlRenderer || preprocessor->mUseGlDebugger)) { 
    290274          // just call the mail method -> will be executed in the main thread 
    291 #if USE_BOOST 
    292           pt.Main(); 
     275#if USE_THREADS 
     276          pt->RunThread(); 
    293277#endif 
    294278        } 
  • GTP/trunk/Lib/Vis/Preprocessing/src/preprocessor.pro

    r1292 r1387  
    11CONFIG -= qt debug 
    2 CONFIG  += console warn_off thread release mlrt 
     2CONFIG  += console warn_off thread release mlrt qt 
    33 
    44TEMPLATE = app 
     
    8888CONFIG(qt) { 
    8989win32:LIBS += cg.lib cgGL.lib 
    90 LIBS += QtRenderer.lib 
     90#LIBS += QtRenderer.lib 
     91DEFINES += USE_QT 
    9192} 
    9293 
     
    112113GzBinFileInputStream.cpp  GzFileInputSource.cpp \ 
    113114LogManager.cpp VspTree.cpp \ 
    114 SamplingStrategy.cpp KdIntersectable.cpp \ 
     115SamplingStrategy.cpp IntersectableWrapper.cpp \ 
    115116OspTree.cpp HierarchyManager.cpp ObjParser.cpp \ 
    116117BvHierarchy.cpp  \ 
     
    120121 
    121122CONFIG(qt) { 
    122 SOURCES += OcclusionQuery.cpp 
     123HEADERS += QtPreprocessorThread.h QtGlRenderer.h 
     124SOURCES += OcclusionQuery.cpp QtPreprocessorThread.cpp QtGlRenderer.cpp 
    123125} 
    124126 
Note: See TracChangeset for help on using the changeset viewer.