Ignore:
Timestamp:
01/13/09 12:43:51 (16 years ago)
Author:
mattausch
Message:
 
Location:
GTP/trunk/App/Demos/Vis/FriendlyCulling
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/VisibilitySolutionConverter/VisibilitySolutionConverter.cpp

    r3272 r3273  
    5252{ 
    5353        vector<string> triples; 
     54 
    5455        char *next_token; 
    5556 
     
    6061        { 
    6162                string s(pch); 
    62                 //s += "\n", 
    6363                triples.push_back(s); 
    6464                 
     
    6666        } 
    6767 
     68        // throw away last symbol (\n) 
     69        triples.back().resize(triples.back().size() - 1); 
     70 
    6871        vector<int> indices; 
    6972        vector<int> nIndices; 
    7073        vector<int> tIndices; 
    7174 
    72         char seps[] = " /\t\n"; 
     75        char seps[] = " "; 
     76        char seps2[] = "/"; 
    7377 
    7478        for (size_t i = 0; i < triples.size(); ++ i) 
    7579        { 
    76                 static int dummy = 0; 
    77  
    7880                size_t found; 
    79                 found = triples[i].find_first_of(seps); 
     81                found = triples[i].find_first_of(seps2); 
    8082                size_t prevfound = 0; 
    81                 // vertex, normal, texture indices 
     83 
     84                // extract vertex, normal, texture indices 
    8285                string str = triples[i].substr(prevfound, found); 
    8386 
    8487                int index = (int)strtol(str.c_str(), NULL, 10) - 1; 
    85  
    8688                int tIndex = index; 
    8789                int nIndex = index;      
    8890                 
    89                 prevfound = found; 
    90                 found = triples[i].find_first_of(seps, found + 1);   
     91                // try to extract texture and normal indices 
     92                prevfound = found + 1; 
     93                found = triples[i].find_first_of(seps2, prevfound);   
    9194 
    9295                if (found != string::npos) 
     
    97100                        if (idx > 0) tIndex = idx; 
    98101                } 
    99  
    100                 if ((found + 1) < triples[i].size()) 
     102                 
     103                if (found != string::npos) 
    101104                { 
    102105                        str = triples[i].substr(found + 1); 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/default.env

    r3272 r3273  
    77# misc stuff 
    88 
    9 #filename=vienna_full_hp 
    10 #bvhname=vienna_full_hp 
    11 filename=newvienna 
    12 bvhname=newvienna 
     9filename=vienna_full_hp 
     10bvhname=vienna_full_hp 
     11#filename=newvienna 
     12#bvhname=newvienna 
    1313#filename=procedural_pompeii_area6_hires/pompeii_full 
    1414#filename=procedural_pompeii_area6_hires/pompeii_part 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/BvhExporter.cpp

    r3272 r3273  
    9999         ConstructTriangleRangeMap(bvh, bvh->GetStaticRoot(), first, last); 
    100100 
    101          BvhLeafContainer nodes; 
    102          bvh->CollectLeaves(bvh->GetStaticRoot(), nodes); 
     101         BvhNodeContainer nodes; 
     102         bvh->CollectVirtualLeaves(bvh->GetStaticRoot(), nodes); 
    103103 
    104104         vector<int> triangles; 
    105105 
    106          BvhLeafContainer::const_iterator it, it_end = nodes.end(); 
     106         BvhNodeContainer::const_iterator it, it_end = nodes.end(); 
    107107 
    108108         for (it = nodes.begin(); it != it_end; ++ it) 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/ObjExporter.cpp

    r3272 r3273  
    5353         int numVertices = 0; 
    5454 
    55          BvhLeafContainer nodes; 
    56          bvh->CollectLeaves(bvh->GetStaticRoot(), nodes); 
     55         BvhNodeContainer nodes; 
     56         bvh->CollectVirtualLeaves(bvh->GetStaticRoot(), nodes); 
    5757 
    5858         cout << "writing " << nodes.size() << " objects ..." << endl;  
    5959 
    60          BvhLeafContainer::const_iterator it, it_end = nodes.end(); 
     60         BvhNodeContainer::const_iterator it, it_end = nodes.end(); 
    6161 
    6262         int j = 0; 
     
    9999         for (int i = 0; i < numVertices; i += 3) 
    100100         { 
    101                  ostream << "f " << i + 2 << " " << i + 2 << " " << i + 3 << endl; 
     101                 ostream << "f " << i + 1 << " " << i + 2 << " " << i + 3 << endl; 
    102102         } 
    103103 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/chcdemo.cpp

    r3272 r3273  
    148148bool useSkylightForIllum = true; 
    149149 
     150bool showFPS = true; 
     151 
    150152static int globalVisibleId = 0; 
    151153 
     
    724726 
    725727 
    726         //ObjExporter().Export(model_path + "myvienna.obj", bvh); 
    727         //BvhExporter().Export(model_path + "myvienna.bv", bvh); 
     728        ObjExporter().Export(model_path + "myvienna.obj", bvh); 
     729        BvhExporter().Export(model_path + "myvienna.bv", bvh); 
    728730 
    729731 
     
    17091711                if (!usePvs) SceneEntity::SetCurrentVisibleId(-1); 
    17101712                break; 
     1713        case ',': 
     1714                // show / hide FPS 
     1715                showFPS = !showFPS; 
     1716                break; 
     1717         
    17111718        default: 
    17121719                return; 
     
    24222429                 
    24232430                if (!showAlgorithmTime) 
    2424                         sprintf(msg[7], "%s:  %6.1f fps", alg_str[renderMode], fps); 
     2431                { 
     2432                        if (showFPS) 
     2433                                sprintf(msg[7], "%s:  %6.1f fps", alg_str[renderMode], fps); 
     2434                } 
    24252435                else 
    24262436                        sprintf(msg[7], "%s:  %6.1f ms", alg_str[renderMode], rTime); 
Note: See TracChangeset for help on using the changeset viewer.