Changeset 2671


Ignore:
Timestamp:
04/30/08 18:53:06 (16 years ago)
Author:
mattausch
Message:
 
Location:
GTP/trunk/Lib/Vis/Preprocessing
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/scripts/run_gvs_vps.sh

    r2668 r2671  
    2727-preprocessor=gvs \ 
    2828-gvs_epsilon=0.0001 \ 
    29 -gvs_total_samples=500000 \ 
    30 -gvs_samples_per_pass=50000 \ 
     29-gvs_total_samples=1000000 \ 
     30-gvs_samples_per_pass=1000000 \ 
    3131-gvs_initial_samples=16 \ 
    32 -gvs_max_viewcells=2  \ 
     32-gvs_max_viewcells=200  \ 
    3333-gvs_min_contribution=50 \ 
    3434-gvs_per_viewcell=true \ 
  • GTP/trunk/Lib/Vis/Preprocessing/src/GlRenderer.cpp

    r2670 r2671  
    466466 
    467467 
    468  
    469 void 
    470 GlRenderer::_RenderScene() 
    471 { 
    472    
    473   ObjectContainer::const_iterator oi = mObjects.begin(); 
    474   for (; oi != mObjects.end(); oi++) 
    475         RenderIntersectable(*oi); 
    476 } 
     468void GlRenderer::_RenderScene() 
     469{ 
     470        ObjectContainer::const_iterator oi = mObjects.begin(); 
     471 
     472        for (; oi != mObjects.end(); oi++) 
     473                RenderIntersectable(*oi); 
     474} 
     475 
    477476 
    478477void GlRenderer::_RenderSceneTrianglesWithDrawArrays() 
     
    483482                glBindBufferARB(GL_ARRAY_BUFFER_ARB, mVboId); 
    484483 
    485         int offset = (int)mObjects.size() * 3; 
     484        const int offset = (int)mObjects.size() * 3; 
    486485        char *arrayPtr = mUseVbos ? NULL : (char *)mData; 
    487486         
     
    489488        glNormalPointer(GL_FLOAT, 0, (char *)arrayPtr + offset * sizeof(Vector3)); 
    490489         
    491         glDrawArrays(GL_TRIANGLES, 0, (int)mObjects.size() * 3); 
    492         //DisableDrawArrays(); 
     490        glDrawArrays(GL_TRIANGLES, 0, offset); 
    493491} 
    494492 
     
    556554 
    557555 
    558 bool 
    559 GlRenderer::RenderScene() 
    560 { 
    561   mCurrentFrame++; 
    562    
    563   Intersectable::NewMail(); 
     556bool GlRenderer::RenderScene() 
     557{ 
     558        ++ mCurrentFrame; 
     559 
     560        Intersectable::NewMail(); 
     561 
    564562#if DYNAMIC_OBJECTS_HACK 
    565563        Preprocessor *p = mViewCellsManager->GetPreprocessor(); 
     
    570568        { 
    571569#if USE_TRANSFORMED_MESH_INSTANCE_HACK 
    572         RenderIntersectable(*dit); 
     570                RenderIntersectable(*dit); 
    573571#else 
    574572                _RenderDynamicObject(*dit); 
     
    576574        } 
    577575#endif 
     576 
    578577#if 1 
    579578        _RenderSceneTrianglesWithDrawArrays(); 
     
    603602        // read back the texture 
    604603        glReadPixels(0, 0, 
    605                                 GetWidth(), GetHeight(), 
    606                                 GL_RGBA, 
    607                                 GL_UNSIGNED_BYTE, 
    608                                 mPixelBuffer); 
    609                  
    610                          
     604                GetWidth(), GetHeight(), 
     605                GL_RGBA, 
     606                GL_UNSIGNED_BYTE, 
     607                mPixelBuffer); 
     608 
     609 
    611610        unsigned int *p = mPixelBuffer; 
    612                          
     611 
    613612        for (int y = 0; y < GetHeight(); y++) 
    614613        { 
     
    18371836{ 
    18381837        int indexBufferSize = 0; 
    1839          
     1838        mRenderedNodes = 0; 
     1839 
    18401840        KdNode::NewMail2(); 
    18411841                 
     
    18981898                } 
    18991899 
     1900                ++ mRenderedNodes; 
     1901 
    19001902                leaf->mIndexBufferSize = indexBufferSize - leaf->mIndexBufferStart; 
    19011903        } 
    19021904} 
     1905 
    19031906 
    19041907void GlRenderer::CreateVertexArrays(SceneGraphLeaf *leaf) 
  • GTP/trunk/Lib/Vis/Preprocessing/src/GlRenderer.h

    r2670 r2671  
    233233 
    234234        vector<PvsErrorEntry> mPvsErrorBuffer; 
     235 
    235236        bool mComputeGVS; 
    236237 
     
    281282 
    282283        bool mUseVbos; 
     284 
     285        int mRenderedNodes; 
    283286}; 
    284287 
  • GTP/trunk/Lib/Vis/Preprocessing/src/GvsPreprocessor.cpp

    r2670 r2671  
    11681168        { 
    11691169                ComputeRenderError(); 
    1170                 // and second time 
    1171                 ComputeRenderError(); 
    1172                 // and third time 
    1173                 ComputeRenderError(); 
    11741170        } 
    11751171 
  • GTP/trunk/Lib/Vis/Preprocessing/src/QtInterface/QtGlRenderer.cpp

    r2670 r2671  
    113113void QtGlRendererBuffer::RenderPvs(const ObjectPvs &pvs) 
    114114{ 
     115        EnableDrawArrays(); 
    115116        PreparePvs(pvs); 
     117 
     118        if (mUseVbos) 
     119                glBindBufferARB(GL_ARRAY_BUFFER_ARB, mVboId); 
    116120 
    117121        int offset = (int)mObjects.size() * 3; 
     
    128132{ 
    129133        MakeCurrent(); 
    130          
     134 
    131135        if (0) 
    132136        { 
     
    213217        Intersectable::NewMail(); 
    214218 
    215 KdNode::NewMail2(); 
    216         Intersectable::NewMail(); 
    217         KdNode::NewMail2(); 
    218         Intersectable::NewMail(); 
    219  
    220219        // render pvs once 
    221220        RenderPvs(pvs); 
     221 
     222        //cout << "rendered nodes: " << mRenderedNodes << endl; 
    222223 
    223224        //glColorMask(GL_TRUE, GL_FALSE, GL_FALSE, GL_FALSE); 
     
    226227 
    227228        glEnable(GL_STENCIL_TEST);  
    228         glColor3f(1,0,0); 
     229        glColor3f(1, 0, 0); 
    229230 
    230231 
     
    250251        if (pixelCount > 0)  
    251252        { 
    252                 cout << "vc id: " << viewcell->GetId() << " pvs: " << pvsSize << " pc: " << pixelCount << endl; 
     253                cout << "frame " << mFrame << " vc id: " << viewcell->GetId() << " pvs: " << pvsSize << " pc: " << pixelCount << endl; 
    253254         
    254255                if (mSnapErrorFrames)  
     
    256257                        glReadBuffer(GL_BACK); 
    257258                        //glReadBuffer(GL_FRONT); 
     259 
    258260 
    259261                        ////////////// 
     
    284286 
    285287                        ++ mCurrentFrame; 
     288 
    286289                        // render pvs once 
    287290                        RenderPvs(pvs); 
     
    290293 
    291294                        im = toImage(); 
    292                         sprintf(filename, "error-frame-%04d-%0.5f-pvs.png", mFrame, pErrorPixels); 
     295                        sprintf(filename, "error-frame-%04d-%04d-%0.5f-pvs.png", mFrame, viewcell->GetId(), pErrorPixels); 
    293296                        str = mSnapPrefix + filename; 
    294297                        qstr = str.c_str(); 
     
    331334                        ObjectContainer::iterator oit = 
    332335                                lower_bound(objects.begin(), objects.end(), &dummy, ilt); 
    333  
    334336 
    335337                        if (//(oit != oit.end()) &&  
     
    464466void QtGlRendererWidget::_RenderPvs() 
    465467{ 
     468        EnableDrawArrays(); 
     469        if (mUseVbos) 
     470                glBindBufferARB(GL_ARRAY_BUFFER_ARB, mVboId); 
     471 
    466472        mUseFalseColors = false; 
    467473 
     
    583589                         
    584590                        // update the indices for rendering 
    585                         PreparePvs2(mPvsCache.mPvs); 
     591                        PreparePvs(mPvsCache.mPvs); 
    586592                        emit PvsUpdated(); 
    587593                        mCurrentPvsCost = mPvsCache.mPvs.EvalPvsCost(); 
  • GTP/trunk/Lib/Vis/Preprocessing/src/QtInterface/QtGlRenderer.h

    r2670 r2671  
    7474 
    7575        int ComputePvs(ObjectContainer &objects, ObjectContainer &pvs) const; 
     76 
    7677 
    7778public: 
Note: See TracChangeset for help on using the changeset viewer.