Ignore:
Timestamp:
01/14/09 18:48:14 (15 years ago)
Author:
mattausch
Message:
 
Location:
GTP/trunk/App/Demos/Vis/FriendlyCulling/src
Files:
3 edited

Legend:

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

    r3274 r3276  
    4040        if (delData) 
    4141        { 
    42                 //DEL_ARRAY_PTR(mVertices); 
     42                DEL_ARRAY_PTR(mVertices); 
    4343                DEL_ARRAY_PTR(mNormals); 
    4444                DEL_ARRAY_PTR(mTexCoords); 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/SkyPreetham.cpp

    r3272 r3276  
    109109 
    110110        // scale the sky dome so no intersection with the scene is visible 
    111         const float scaleFactor = 80.0f; 
    112         //const float scaleFactor = 1000.0f; 
     111        //const float scaleFactor = 80.0f; 
     112        const float scaleFactor = 1000.0f; 
    113113 
    114114        position.z -= 3.0f * scaleFactor; 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/chcdemo.cpp

    r3274 r3276  
    377377void RenderViewCell(); 
    378378 
     379void LoadPompeiiScene(); 
     380 
    379381 
    380382// new view projection matrix of the camera 
     
    597599        //LoadModel("sibenik.dem", dynamicObjects); 
    598600 
    599  
    600         AxisAlignedBox3 pompeiiBox = SceneEntity::ComputeBoundingBox(staticObjects); 
    601  
    602 #if 1 
    603         // todo: dispose texture 
    604         Texture *floorTex = new Texture(model_path + "stairs.c.01.tif"); 
    605  
    606         floorTex->SetBoundaryModeS(Texture::REPEAT); 
    607         floorTex->SetBoundaryModeT(Texture::REPEAT); 
    608  
    609         floorTex->Create(); 
    610         Material *mymat = resourceManager->CreateMaterial(); 
    611  
    612         Technique *tech = mymat->GetDefaultTechnique(); 
    613         tech->SetDiffuse(RgbaColor(1, 1, 1, 1)); 
    614         tech->SetTexture(floorTex); 
    615  
    616         Technique *depthPass = new Technique(*tech); 
    617         Technique *deferred = new Technique(*tech); 
    618  
    619         depthPass->SetColorWriteEnabled(false); 
    620         depthPass->SetLightingEnabled(false); 
    621  
    622         ShaderProgram *defaultFragmentTexProgramMrt = ShaderManager::GetSingleton()->GetShaderProgram("defaultFragmentTexMrt"); 
    623         ShaderProgram *defaultVertexProgramMrt = ShaderManager::GetSingleton()->GetShaderProgram("defaultVertexMrt"); 
    624  
    625         deferred->SetFragmentProgram(defaultFragmentTexProgramMrt); 
    626         deferred->SetVertexProgram(defaultVertexProgramMrt); 
    627  
    628         deferred->GetFragmentProgramParameters()->SetViewMatrixParam(0); 
    629         deferred->GetVertexProgramParameters()->SetModelMatrixParam(1); 
    630         deferred->GetVertexProgramParameters()->SetOldModelMatrixParam(2); 
    631  
    632         deferred->SetTexture(floorTex); 
    633          
    634         mymat->AddTechnique(deferred); 
    635         mymat->AddTechnique(depthPass); 
    636  
    637  
    638         //const Vector3 offs(1300.0f, -2500.0f, .0f); 
    639         const Vector3 offs(pompeiiBox.Center(0), pompeiiBox.Center(1), 0); 
    640         Matrix4x4 moffs = TranslationMatrix(offs); 
    641  
    642         Plane3 plane; 
    643         Transform3 *mytrafo = resourceManager->CreateTransform(moffs); 
    644  
    645         SceneEntity *myplane =  
    646                 SceneEntityConverter().ConvertPlane(plane,  
    647                                                     pompeiiBox.Size(0), 
    648                                                                                         pompeiiBox.Size(1), 
    649                                                                                         5,  
    650                                                                                         5, 
    651                                                                                         mymat,  
    652                                                                                         mytrafo); 
    653  
    654         resourceManager->AddSceneEntity(myplane); 
    655         staticObjects.push_back(myplane); 
    656  
    657 #endif 
     601        if (1) LoadPompeiiScene(); 
    658602 
    659603#if 0 
     
    724668 
    725669 
    726         ObjExporter().Export(model_path + "mypompeii.obj", bvh); 
    727         BvhExporter().Export(model_path + "mypompeii.bv", bvh); 
     670        //ObjExporter().Export(model_path + "mypompeii.obj", bvh); 
     671        //BvhExporter().Export(model_path + "mypompeii.bv", bvh); 
    728672 
    729673 
     
    14611405                        deferredShader->SetSaveFrame("", -1);            
    14621406                } 
    1463                 //if (makeSnapShot) makeSnapShot = false; 
     1407                 
     1408                if (makeSnapShot) makeSnapShot = false; 
    14641409 
    14651410                ShadowMap *sm = showShadowMap ? shadowMap : NULL; 
     
    23972342                        int i = 4; 
    23982343 
    2399                         if (0) 
     2344                        if (0) // q: show rendered objects or nodes (no space for both) 
    24002345                        { 
    24012346                                sprintf(msg[i ++], "rendered: %s of %s objects, %s of %s triangles",  
     
    24082353                        } 
    24092354 
    2410                         sprintf(msg[i ++], "traversed: %5d, frustum culled: %5d, query culled: %5d", 
     2355                        sprintf(msg[i ++], "traversed: %5d, frustum culled: %5d, query culled: %5d nodes", 
    24112356                                traversedNodes, frustumCulledNodes, queryCulledNodes); 
    24122357                        sprintf(msg[i ++], "issued queries: %5d, state changes: %5d, render batches: %5d",  
     
    24292374                { 
    24302375                        if (showFPS) 
    2431                                 sprintf(msg[7], "%s:  %6.1f fps", alg_str[renderMode], fps); 
     2376                        {                        
     2377                                sprintf(msg[7], "%s:  %6.1f fps", alg_str[renderMode], fps);             
     2378                                myfont.DrawString(msg[7], 1.3f, 690.0f, 760.0f);//, top_color, bottom_color); 
     2379                        } 
    24322380                } 
    24332381                else 
     2382                { 
    24342383                        sprintf(msg[7], "%s:  %6.1f ms", alg_str[renderMode], rTime); 
    2435                  
    2436                 myfont.DrawString(msg[7], 1.3f, 690.0f, 760.0f);//, top_color, bottom_color); 
     2384                        myfont.DrawString(msg[7], 1.3f, 690.0f, 760.0f);//, top_color, bottom_color); 
     2385                } 
     2386 
    24372387                 
    24382388                //sprintf(msg[8], "algorithm time: %6.1f ms", rTime); 
     
    25162466        renderState.Reset(); 
    25172467 
    2518         PrintGLerror("visibleobjects"); 
     2468        PrintGLerror("visible objects"); 
    25192469} 
    25202470 
     
    25372487 
    25382488        if (validIntersect)  
    2539                 // && ((playerPos.z - oldPos.z) < bvh->GetBox().Size(2) * 1e-1f)) 
     2489                //&& ((playerPos.z - oldPos.z) < bvh->GetBox().Size(2) * 1e-1f)) 
    25402490        { 
    25412491                camera->SetPosition(playerPos); 
     
    27432693        Visualization::RenderBoxForViz(viewCell->GetBox()); 
    27442694} 
     2695 
     2696 
     2697void LoadPompeiiScene() 
     2698{ 
     2699        AxisAlignedBox3 pompeiiBox = SceneEntity::ComputeBoundingBox(staticObjects); 
     2700 
     2701        // todo: dispose texture 
     2702        Texture *floorTex = new Texture(model_path + "stairs.c.01.tif"); 
     2703 
     2704        floorTex->SetBoundaryModeS(Texture::REPEAT); 
     2705        floorTex->SetBoundaryModeT(Texture::REPEAT); 
     2706 
     2707        floorTex->Create(); 
     2708        Material *mymat = resourceManager->CreateMaterial(); 
     2709 
     2710        Technique *tech = mymat->GetDefaultTechnique(); 
     2711        tech->SetDiffuse(RgbaColor(1, 1, 1, 1)); 
     2712        tech->SetTexture(floorTex); 
     2713 
     2714        Technique *depthPass = new Technique(*tech); 
     2715        Technique *deferred = new Technique(*tech); 
     2716 
     2717        depthPass->SetColorWriteEnabled(false); 
     2718        depthPass->SetLightingEnabled(false); 
     2719 
     2720        ShaderProgram *defaultFragmentTexProgramMrt = ShaderManager::GetSingleton()->GetShaderProgram("defaultFragmentTexMrt"); 
     2721        ShaderProgram *defaultVertexProgramMrt = ShaderManager::GetSingleton()->GetShaderProgram("defaultVertexMrt"); 
     2722 
     2723        deferred->SetFragmentProgram(defaultFragmentTexProgramMrt); 
     2724        deferred->SetVertexProgram(defaultVertexProgramMrt); 
     2725 
     2726        deferred->GetFragmentProgramParameters()->SetViewMatrixParam(0); 
     2727        deferred->GetVertexProgramParameters()->SetModelMatrixParam(1); 
     2728        deferred->GetVertexProgramParameters()->SetOldModelMatrixParam(2); 
     2729 
     2730        deferred->SetTexture(floorTex); 
     2731         
     2732        mymat->AddTechnique(deferred); 
     2733        mymat->AddTechnique(depthPass); 
     2734 
     2735 
     2736        //const Vector3 offs(1300.0f, -2500.0f, .0f); 
     2737        const Vector3 offs(pompeiiBox.Center(0), pompeiiBox.Center(1), 0); 
     2738        Matrix4x4 moffs = TranslationMatrix(offs); 
     2739 
     2740        Plane3 plane; 
     2741        Transform3 *mytrafo = resourceManager->CreateTransform(moffs); 
     2742 
     2743        SceneEntity *myplane =  
     2744                SceneEntityConverter().ConvertPlane(plane,  
     2745                                                    pompeiiBox.Size(0), 
     2746                                                                                        pompeiiBox.Size(1), 
     2747                                                                                        5,  
     2748                                                                                        5, 
     2749                                                                                        mymat,  
     2750                                                                                        mytrafo); 
     2751 
     2752        resourceManager->AddSceneEntity(myplane); 
     2753        staticObjects.push_back(myplane); 
     2754} 
Note: See TracChangeset for help on using the changeset viewer.