Changeset 3175 for GTP/trunk/App/Demos


Ignore:
Timestamp:
11/26/08 20:45:11 (16 years ago)
Author:
mattausch
Message:
 
Location:
GTP/trunk/App/Demos/Vis/FriendlyCulling
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/default.env

    r3169 r3175  
    5353useFullScreen=0 
    5454 
     55# the used render method (forward, forward + depth pass, deferred, deferred + depth pass 
     56renderMethod=2 
    5557 
    5658#modelPath=data/city/model/ 
     
    5860 
    5961############ 
    60 # shader options 
     62# shader options for deferred rendering 
    6163 
    6264# ssao temporal coherence factor 
     
    6466# tone mapping 
    6567useHDR=0 
     68# use antialiasing 
     69useAA=1 
     70# use ssao / color bleeding 
     71useAdvancedShading=1 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/DeferredRenderer.cpp

    r3168 r3175  
    498498                                                          DirectionalLight *light, 
    499499                                                          bool useToneMapping, 
     500                                                          bool useAntiAliasing, 
    500501                                                          ShadowMap *shadowMap 
    501502                                                          ) 
     
    511512        { 
    512513                // downsample fbo buffers 
    513                 // colors 
    514                 //DownSample(fbo, colorBufferIdx, mDownSampleFbo, 0, sCgScaleDepthProgram); 
    515514                PrepareSsao(fbo); 
    516                 //DownSample(fbo, 1, mDownSampleFbo, 1, sCgDownSampleProgram); // normals 
    517                 //DownSample(fbo, 2, mDownSampleFbo, 2, sCgDownSampleProgram); // offsets 
    518515        } 
    519516 
     
    544541        } 
    545542 
    546         // as multisampling is difficult / costly with deferred shading,  
    547         // at least do some antialiasing 
    548         //AntiAliasing(fbo, light); 
    549  
    550         // just output the latest buffer 
    551         Output(fbo); 
     543        // multisampling is difficult / costly with deferred shading 
     544        // at least do some edge blurring  
     545 
     546        if (useAntiAliasing) 
     547                AntiAliasing(fbo, light); 
     548        else 
     549                Output(fbo); // just output the latest buffer 
    552550 
    553551        glEnable(GL_LIGHTING); 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/DeferredRenderer.h

    r3167 r3175  
    4141                                DirectionalLight *light, 
    4242                                bool useToneMapping, 
     43                                bool useAntiAliasing, 
    4344                                ShadowMap *shadowMap = NULL 
    4445                                ); 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/chcdemo.cpp

    r3167 r3175  
    207207bool renderLightView = false; 
    208208bool useHDR = true; 
     209bool useAntiAliasing = true; 
    209210 
    210211PerfTimer frameTimer, algTimer; 
     
    233234 
    234235 
    235  
    236236//DeferredRenderer::SAMPLING_METHOD samplingMethod = DeferredRenderer::SAMPLING_POISSON; 
    237237DeferredRenderer::SAMPLING_METHOD samplingMethod = DeferredRenderer::SAMPLING_QUADRATIC; 
     
    241241DeferredRenderer *deferredShader = NULL; 
    242242 
    243 //SceneEntity *cube = NULL; 
     243 
    244244SceneEntity *buddha = NULL; 
    245245SceneEntity *skyDome = NULL; 
     
    378378                env.GetBoolParam(string("useLODs"), useLODs); 
    379379                env.GetBoolParam(string("useHDR"), useHDR); 
    380  
     380                env.GetBoolParam(string("useAA"), useAntiAliasing); 
     381                env.GetBoolParam(string("useAdvancedShading"), useAdvancedShading); 
     382 
     383                env.GetIntParam(string("renderMethod"), renderMethod); 
    381384 
    382385                //env.GetStringParam(string("modelPath"), model_path); 
     
    396399                cout << "temporal coherence: " << ssaoTempCohFactor << endl; 
    397400                cout << "shadow size: " << shadowSize << endl; 
     401                cout << "render method: " << renderMethod << endl; 
     402                cout << "use antialiasing: " << useAntiAliasing << endl; 
     403                cout << "use advanced shading: " << useAdvancedShading << endl; 
    398404 
    399405                //cout << "model path: " << model_path << endl; 
     
    794800         
    795801 
    796         const bool useToneMapping =  
     802        const bool useHDRValues =  
    797803                ((renderMethod == RENDER_DEPTH_PASS_DEFERRED) ||  
    798804                 (renderMethod == RENDER_DEFERRED)) && useHDR; 
     
    802808        Vector3 sunDiffuse; 
    803809 
    804         preetham->ComputeSunColor(lightDir, sunAmbient, sunDiffuse, !useToneMapping); 
     810        preetham->ComputeSunColor(lightDir, sunAmbient, sunDiffuse, !useHDRValues); 
    805811 
    806812        ambient[0] = sunAmbient.x; 
     
    895901 
    896902 
    897         // draw to 3 color buffers 
    898         // a color, normal, and positions buffer 
     903        // draw to 3 render targets 
    899904        if (sCurrentMrtSet == 0) 
    900905        { 
     
    10241029                renderState.SetRenderTechnique(DEPTH_PASS); 
    10251030 
    1026                 if (!fbo) InitFBO(); fbo->Bind(); 
     1031                if (!fbo) InitFBO();  
     1032                fbo->Bind(); 
    10271033 
    10281034                glDrawBuffers(1, mrt); 
     
    11341140 
    11351141                ShadowMap *sm = showShadowMap ? shadowMap : NULL; 
    1136                 deferredShader->Render(fbo, ssaoTempCohFactor, light, useHDR, sm); 
     1142                deferredShader->Render(fbo, ssaoTempCohFactor, light, useHDR, useAntiAliasing, sm); 
    11371143        } 
    11381144 
     
    12501256                //if (ssaoTempCohFactor > 1.0f) ssaoExpFactor = 1.0f; 
    12511257                break; 
    1252         case '9': 
     1258        case 'l': 
     1259        case 'L': 
    12531260                useLODs = !useLODs; 
    12541261                SceneEntity::SetUseLODs(useLODs); 
     
    13111318                traverser->SetUseTightBounds(useTightBounds); 
    13121319                break; 
    1313         case 'l': 
    1314         case 'L': 
     1320        case 'v': 
     1321        case 'V': 
    13151322                renderLightView = !renderLightView; 
    13161323                break; 
     
    13181325        case 'H': 
    13191326                useHDR = !useHDR; 
     1327                break; 
     1328        case 'i': 
     1329        case 'I': 
     1330                useAntiAliasing = !useAntiAliasing; 
    13201331                break; 
    13211332        default: 
     
    19912002                        RenderShadowMap(maxVisibleDist); 
    19922003                } 
    1993  
    1994                 //glViewport(0, 0, texWidth, texHeight); 
    19952004                // initialize deferred rendering 
    19962005                InitDeferredRendering(); 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/shaders/antialiasing.cg

    r3168 r3175  
    6363        float4 dd; // the gradients 
    6464 
    65         for (int i = 0; i < 4; ++ i) 
    66         { 
    67                 dd[i] = depthVals[i * 2] + depthVals[i * 2 + 1]; 
    68         } 
     65        dd[0] = depthVals[0] + depthVals[1]; 
     66        dd[1] = depthVals[2] + depthVals[3]; 
     67        dd[2] = depthVals[4] + depthVals[5]; 
     68        dd[3] = depthVals[6] + depthVals[7]; 
    6969 
     70        //for (int i = 0; i < 4; ++ i) 
     71        //      dd[i] = depthVals[i * 2] + depthVals[i * 2 + 1]; 
     72         
    7073        //dd = abs(2.0f * (1.0f - abs(1.0f - centerDepth / dd))) - barrier.y; 
    7174        dd = abs(2.0f * centerDepth - dd) - barrier.y; 
     
    9093 
    9194 
    92         float4 col = (s0 + s1 + s2 + s3 + centerColor) * 0.2f; 
    93         //float4 col = (s0 + s1 + s2 + s3) * 0.25f; 
     95        //float4 col = (s0 + s1 + s2 + s3 + centerColor) * 0.2f; 
     96        float4 col = (s0 + s1 + s2 + s3) * 0.25f; 
    9497        //float4 col = float4(ne.x, ne.x, ne.x, 0); 
    9598        //float4 col = float4(de.x, de.x, de.x, 0); 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/shaders/ssao.cg

    r3172 r3175  
    281281                const float2 offset = samples[i]; 
    282282 
    283 #if 0 
     283#if 1 
    284284                //////////////////// 
    285285                //-- add random noise: reflect around random normal vector (rather slow!) 
Note: See TracChangeset for help on using the changeset viewer.