Ignore:
Timestamp:
11/25/05 14:29:09 (19 years ago)
Author:
mattausch
Message:

changed tabs

Location:
trunk/VUT/GtpVisibilityPreprocessor
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/GtpVisibilityPreprocessor/scripts/default.env

    r431 r433  
    1919 
    2020Preprocessor { 
    21 #       type sampling 
     21        #type sampling 
    2222        type vss 
    2323} 
    2424 
    2525VssPreprocessor { 
    26         samplesPerPass  100000 
    27         initialSamples 2000000 
    28         vssSamples 1000000 
    29         vssSamplesPerPass 100000 
     26        samplesPerPass  10000 
     27        initialSamples 200000 
     28        vssSamples 100000 
     29        vssSamplesPerPass 10000 
    3030        useImportanceSampling true 
    3131} 
     
    3838        minRays         100 
    3939        minSize         0.001 
    40   maxCostRatio  0.98 
     40        maxCostRatio    0.98 
    4141        maxRayContribution 0.05 
    4242         
     
    164164        #splitPlaneStrategy 130 
    165165         
    166         splitPlaneStrategy 12 
     166        splitPlaneStrategy 1 
    167167         
    168168        maxPolyCandidates 70 
     
    186186                minRays 200 
    187187                minPolygons -1 
    188                 maxDepth 40 
    189                 minPvs 35 
     188                maxDepth 20 
     189                minPvs 100 
    190190                minArea 0.01 
    191191                maxRayContribution 0.005 
     
    255255         
    256256        Termination { 
    257                 maxDepth                10 
    258                 minPvs                  500 
     257                maxDepth                30 
     258                minPvs                  50 
    259259                minRays                 1 
    260260                minSize                 0.1 
  • trunk/VUT/GtpVisibilityPreprocessor/src/Ray.cpp

    r430 r433  
    222222Ray::Ray(const VssRay &vssRay): 
    223223loc(vssRay.mOrigin), 
    224 sourceObject(0, vssRay.mOriginObject, 0), 
    225 dir(Normalize(vssRay.GetDir())) 
    226 { 
    227         intersections.push_back(Intersection(vssRay.mT, vssRay.mTerminationObject, 0)); 
    228 } 
     224sourceObject(0, vssRay.mOriginObject, 0) 
     225{ 
     226        const float dist = Distance(vssRay.mTermination, vssRay.mOrigin); 
     227 
     228        if (dist) 
     229                dir = vssRay.GetDir() / dist; 
     230 
     231        if (!vssRay.mTerminationObject) 
     232                Debug << "error!" << endl; 
     233 
     234        intersections.push_back(Intersection(dist, vssRay.mTerminationObject, 0)); 
     235 
     236        Precompute(); 
     237} 
  • trunk/VUT/GtpVisibilityPreprocessor/src/SamplingPreprocessor.cpp

    r430 r433  
    821821                if ((int)mVspSampleRays.size() < mVspConstructionSamples) 
    822822                { 
    823                         if (object || !ray.intersections.empty()) 
     823                        if (!ray.intersections.empty()) 
    824824                        { 
    825825                                ray.sourceObject = Ray::Intersection(0.0, object, faceIndex); 
  • trunk/VUT/GtpVisibilityPreprocessor/src/ViewCellBsp.cpp

    r430 r433  
    14521452        float pFront = 0; 
    14531453        float pBack = 0; 
    1454  
     1454Debug << "here" << endl; 
    14551455        if (mSplitPlaneStrategy & PVS) 
    14561456        { 
     
    15831583                  << " backpvs: " << backPvs << " pBack: " << pBack << endl << endl; 
    15841584#endif 
     1585        Debug << "here2" << endl; 
    15851586        return val; 
    15861587} 
  • trunk/VUT/GtpVisibilityPreprocessor/src/VspKdTree.cpp

    r428 r433  
    13241324                int side = in->ComputeRayIntersection(data.mRayData, data.mRayData.mRay->mT); 
    13251325     
    1326       if (side == 0)  
    1327           { 
    1328                 if (data.mRayData.mRay->HasPosDir(in->mAxis))  
    1329                 { 
    1330                         tstack.push(RayTraversalData(in->GetBack(),  
    1331                                                 RayInfo(data.mRayData.mRay, data.mRayData.mMinT, data.mRayData.mRay->mT))); 
     1326                if (side == 0)  
     1327                { 
     1328                        if (data.mRayData.mRay->HasPosDir(in->mAxis))  
     1329                        { 
     1330                                tstack.push(RayTraversalData(in->GetBack(),  
     1331                                                        RayInfo(data.mRayData.mRay, data.mRayData.mMinT, data.mRayData.mRay->mT))); 
    13321332                                 
    1333                         tstack.push(RayTraversalData(in->GetFront(), 
    1334                                                 RayInfo(data.mRayData.mRay, data.mRayData.mRay->mT, data.mRayData.mMaxT))); 
    1335          
    1336                 }  
    1337                 else  
    1338                 { 
    1339                         tstack.push(RayTraversalData(in->GetBack(), 
    1340                                                                                  RayInfo(data.mRayData.mRay, 
    1341                                                                                                  data.mRayData.mRay->mT, 
    1342                                                                                                  data.mRayData.mMaxT))); 
    1343                         tstack.push(RayTraversalData(in->GetFront(), 
    1344                                                                                  RayInfo(data.mRayData.mRay, 
    1345                                                                                                  data.mRayData.mMinT, 
    1346                                                                                                  data.mRayData.mRay->mT))); 
    1347                 } 
    1348           }  
    1349           else 
    1350           if (side == 1) 
    1351                           tstack.push(RayTraversalData(in->GetFront(), data.mRayData)); 
    1352                   else 
    1353                           tstack.push(RayTraversalData(in->GetBack(), data.mRayData)); 
     1333                                tstack.push(RayTraversalData(in->GetFront(), 
     1334                                                        RayInfo(data.mRayData.mRay, data.mRayData.mRay->mT, data.mRayData.mMaxT))); 
     1335         
     1336                        }  
     1337                        else  
     1338                        { 
     1339                                tstack.push(RayTraversalData(in->GetBack(), 
     1340                                                        RayInfo(data.mRayData.mRay, 
     1341                                                        data.mRayData.mRay->mT, 
     1342                                                        data.mRayData.mMaxT))); 
     1343                                tstack.push(RayTraversalData(in->GetFront(), 
     1344                                                        RayInfo(data.mRayData.mRay, 
     1345                                                        data.mRayData.mMinT, 
     1346                                                        data.mRayData.mRay->mT))); 
     1347                        } 
     1348                } 
     1349                else 
     1350                        if (side == 1) 
     1351                                tstack.push(RayTraversalData(in->GetFront(), data.mRayData)); 
     1352                        else 
     1353                                tstack.push(RayTraversalData(in->GetBack(), data.mRayData)); 
    13541354        }  
    13551355        else  
  • trunk/VUT/GtpVisibilityPreprocessor/src/VssPreprocessor.cpp

    r430 r433  
    1111 
    1212 
    13 bool useViewSpaceBox = true; 
     13bool useViewSpaceBox = false;//true; 
    1414bool use2dSampling = false; 
    15 bool useViewspacePlane = false; 
     15bool useViewspacePlane = false;//true; 
    1616 
    1717VssPreprocessor::VssPreprocessor(): 
     
    413413 
    414414         
    415         //      int numExportRays = 10000; 
    416  
    417         int numExportRays = 0; 
     415        int numExportRays = 10000; 
     416        //int numExportRays = 0; 
    418417 
    419418        if (numExportRays) { 
     
    498497                        for (int i = 0; i < (int)vssRays.size(); ++ i) 
    499498                        { 
    500                                 CastRay(*mBspTree, *mVssRays[i]); 
     499                                CastRay(*mBspTree, *vssRays[i]); 
    501500                        } 
    502501                } 
     
    539538        Ray ray(vssRay); 
    540539 
    541         /*Debug << ray << endl; 
     540        Debug << ray << endl; 
    542541        if (ray.intersections.empty()) 
    543542                Debug << "empty ray" << endl; 
    544543        else  
    545544                Debug << "intersection: " << ray.intersections[0].mT << " " << ray.intersections[0].mObject << endl; 
    546 */ 
     545 
    547546        mBspTree->CastRay(ray); 
    548547                                 
    549         if (ray.sourceObject.mObject) 
     548        //if (0 && ray.sourceObject.mObject) 
    550549                //sampleContributions +=  
    551                 AddObjectSamples(ray.sourceObject.mObject, ray); 
     550                //AddObjectSamples(ray.sourceObject.mObject, ray); 
    552551                         
    553552                if (!ray.intersections.empty()) // second intersection found 
  • trunk/VUT/GtpVisibilityPreprocessor/src/VssTree.cpp

    r431 r433  
    538538        Intersectable::NewMail(3); 
    539539 
    540         Debug << "evaluating cost ratio: " << leaf->rays.size() << endl; 
    541540        if (axis <= VssTreeNode::SPLIT_Z) { 
    542541    // this is the main ray classification loop! 
     
    545544                                ri++) 
    546545      if ((*ri).mRay->IsActive()) { 
    547                                 //Debug << "new t: " <<   (*ri).mRay->mT << endl; 
     546                                 
    548547                                // determine the side of this ray with respect to the plane 
    549548                                int side = (*ri).ComputeRayIntersection(axis, position, (*ri).mRay->mT); 
Note: See TracChangeset for help on using the changeset viewer.