Changeset 3245 for GTP/trunk/App/Demos/Vis/FriendlyCulling/src/chcdemo.cpp
- Timestamp:
- 01/04/09 16:06:56 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/App/Demos/Vis/FriendlyCulling/src/chcdemo.cpp
r3244 r3245 141 141 ViewCellsTree *viewCellsTree = NULL; 142 142 143 static int globalVisibleId = 0; 144 145 ViewCell *viewCell = NULL; 146 143 147 144 148 /// the technique used for rendering … … 655 659 SceneEntityConverter conv; 656 660 657 // toto clean up material 661 662 ////////////////// 663 //-- occlusion query for sun 664 665 // todo: clean up material 658 666 Material *mat = resourceManager->CreateMaterial(); 659 667 … … 662 670 663 671 sunBox = conv.ConvertBox(sbox, mat, trafo); 664 665 672 resourceManager->AddSceneEntity(sunBox); 666 673 … … 1253 1260 else 1254 1261 { 1262 RenderPvs(); 1263 1255 1264 // actually render the scene geometry using the specified algorithm 1256 //traverser->RenderScene(); 1257 1258 RenderPvs(); 1265 traverser->RenderScene(); 1259 1266 } 1260 1267 … … 1954 1961 { 1955 1962 visualization->SetFrameId(traverser->GetCurrentFrameId()); 1956 1963 visualization->SetViewCell(viewCell); 1964 1957 1965 Begin2D(); 1958 1966 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); … … 2518 2526 2519 2527 2528 static Technique GetVizTechnique() 2529 { 2530 Technique tech; 2531 tech.Init(); 2532 2533 //tech.SetLightingEnabled(false); 2534 //tech.SetDepthWriteEnabled(false); 2535 2536 tech.SetEmmisive(RgbaColor(1.0f, 1.0f, 1.0f, 1.0f)); 2537 tech.SetDiffuse(RgbaColor(1.0f, 1.0f, 1.0f, 1.0f)); 2538 tech.SetAmbient(RgbaColor(1.0f, 1.0f, 1.0f, 1.0f)); 2539 2540 return tech; 2541 } 2542 2543 2520 2544 void RenderPvs() 2521 2545 { 2522 ViewCell *vc = viewCellsTree->GetViewCell(camera->GetPosition()); 2523 2524 for (int i = 0; i < vc->mPvs.Size(); ++ i) 2525 { 2526 SceneEntity *ent = vc->mPvs.GetEntry(i); 2527 ent->Render(&renderState); 2528 } 2529 } 2546 viewCell = viewCellsTree->GetViewCell(camera->GetPosition()); 2547 2548 int numTriangles = 0; 2549 2550 for (int i = 0; i < viewCell->mPvs.Size(); ++ i) 2551 { 2552 SceneEntity *ent = viewCell->mPvs.GetEntry(i); 2553 //ent->Render(&renderState); 2554 ent->SetVisibleId(globalVisibleId); 2555 2556 numTriangles += ent->CountNumTriangles(); 2557 } 2558 2559 SceneEntity::SetGlobalVisibleId(globalVisibleId ++); 2560 2561 // render current view cell 2562 static Technique vcTechnique = GetVizTechnique(); 2563 2564 vcTechnique.Render(&renderState); 2565 Visualization::RenderBoxForViz(viewCell->GetBox()); 2566 2567 visualization->SetViewCell(viewCell); 2568 2569 //cout << "pvs: " << vc->mPvs.Size() << " triangles: " << numTriangles << endl; 2570 }
Note: See TracChangeset
for help on using the changeset viewer.