Ignore:
Timestamp:
10/16/08 19:51:16 (16 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

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

    r3028 r3034  
    319319        InitProgram(&sCgLogLumProgram, context, "tonemap", "CalcAvgLogLum"); 
    320320 
     321        int i; 
     322 
     323        i = 0; 
     324 
     325        sCgSsaoProgram->AddParameter("colors", i ++); 
     326        sCgSsaoProgram->AddParameter("colors", i ++); 
     327        sCgSsaoProgram->AddParameter("oldTex", i ++); 
     328        sCgSsaoProgram->AddParameter("noise", i ++); 
     329        sCgSsaoProgram->AddParameter("eyePos", i ++); 
     330        sCgSsaoProgram->AddParameter("temporalCoherence", i ++); 
     331        sCgSsaoProgram->AddParameter("modelViewProj", i ++); 
     332        sCgSsaoProgram->AddParameter("oldModelViewProj", i ++); 
     333        sCgSsaoProgram->AddParameter("samples", i ++); 
     334        sCgSsaoProgram->AddParameter("bl", i ++); 
     335        sCgSsaoProgram->AddParameter("br", i ++); 
     336        sCgSsaoProgram->AddParameter("tl", i ++); 
     337        sCgSsaoProgram->AddParameter("tr", i ++); 
     338 
     339        i = 0; 
     340 
     341        sCgGiProgram->AddParameter("colors", i ++); 
     342        sCgGiProgram->AddParameter("colors", i ++); 
     343        sCgGiProgram->AddParameter("noise", i ++); 
     344        sCgGiProgram->AddParameter("oldSsaoTex", i ++); 
     345        sCgGiProgram->AddParameter("oldIllumTex", i ++); 
     346        sCgGiProgram->AddParameter("eyePos", i ++); 
     347        sCgGiProgram->AddParameter("temporalCoherence", i ++); 
     348        sCgGiProgram->AddParameter("samples", i ++); 
     349        sCgGiProgram->AddParameter("bl", i ++); 
     350        sCgGiProgram->AddParameter("br", i ++); 
     351        sCgGiProgram->AddParameter("tl", i ++); 
     352        sCgGiProgram->AddParameter("tr", i ++); 
     353 
     354        sCgAntiAliasingProgram->AddParameter("colors", 0); 
     355        sCgAntiAliasingProgram->AddParameter("normals", 1); 
     356 
     357        sCgDeferredProgram->AddParameter("colors", 0); 
     358        sCgDeferredProgram->AddParameter("normals", 1); 
     359        sCgDeferredProgram->AddParameter("lightDir", 2); 
     360 
     361 
    321362        float filterWeights[NUM_PCF_TABS]; 
    322363        PoissonDiscSampleGenerator2 poisson(NUM_PCF_TABS, 1.0f); 
     
    451492        glDrawBuffers(1, mrt + mIllumFboIndex); 
    452493 
     494        sCgSsaoProgram->SetTexture(0, colorsTex); 
     495        sCgSsaoProgram->SetTexture(1, normalsTex); 
     496        sCgSsaoProgram->SetTexture(2, oldTex); 
     497        sCgSsaoProgram->SetTexture(3, noiseTex); 
     498 
    453499        const Vector3 pos = mCamera->GetPosition(); 
    454         sCgSsaoProgram->SetValue3f("eyePos", pos.x, pos.y, pos.z); 
    455  
    456         sCgSsaoProgram->SetTexture("colors", colorsTex); 
    457         sCgSsaoProgram->SetTexture("normals", normalsTex); 
    458         sCgSsaoProgram->SetTexture("oldTex", oldTex); 
    459         sCgSsaoProgram->SetTexture("noise", noiseTex); 
    460  
    461         sCgSsaoProgram->SetValue1f("temporalCoherence", (mUseTemporalCoherence && !mRegenerateSamples) ? tempCohFactor : 0); 
    462  
    463         sCgSsaoProgram->SetMatrix("modelViewProj", projViewMatrix); 
    464         sCgSsaoProgram->SetMatrix("oldModelViewProj", oldProjViewMatrix); 
     500        sCgSsaoProgram->SetValue3f(4, pos.x, pos.y, pos.z); 
     501 
     502        sCgSsaoProgram->SetValue1f(5, (mUseTemporalCoherence && !mRegenerateSamples) ? tempCohFactor : 0); 
     503        sCgSsaoProgram->SetMatrix(6, projViewMatrix); 
     504        sCgSsaoProgram->SetMatrix(7, oldProjViewMatrix); 
    465505 
    466506        if (mUseTemporalCoherence || mRegenerateSamples) 
     
    472512                // needs longer to converge 
    473513                GenerateSamples(mSamplingMethod);  
    474                 sCgSsaoProgram->SetArray2f("samples", (float *)samples2, NUM_SAMPLES); 
     514                sCgSsaoProgram->SetArray2f(8, (float *)samples2, NUM_SAMPLES); 
    475515        } 
    476516 
     
    478518        ComputeViewVectors(tl, tr, bl, br); 
    479519 
    480         sCgSsaoProgram->SetValue3f("bl", bl.x, bl.y, bl.z); 
    481         sCgSsaoProgram->SetValue3f("br", br.x, br.y, br.z); 
    482         sCgSsaoProgram->SetValue3f("tl", tl.x, tl.y, tl.z); 
    483         sCgSsaoProgram->SetValue3f("tr", tr.x, tr.y, tr.z); 
     520        sCgSsaoProgram->SetValue3f(9, bl.x, bl.y, bl.z); 
     521        sCgSsaoProgram->SetValue3f(10, br.x, br.y, br.z); 
     522        sCgSsaoProgram->SetValue3f(11, tl.x, tl.y, tl.z); 
     523        sCgSsaoProgram->SetValue3f(12, tr.x, tr.y, tr.z); 
    484524 
    485525        DrawQuad(sCgSsaoProgram); 
     
    528568        GLuint normalsTex = fbo->GetColorBuffer(2)->GetTexture(); 
    529569 
    530         sCgAntiAliasingProgram->SetTexture("colors", colorsTex); 
    531         sCgAntiAliasingProgram->SetTexture("normals", normalsTex); 
     570        sCgAntiAliasingProgram->SetTexture(0, colorsTex); 
     571        sCgAntiAliasingProgram->SetTexture(1, normalsTex); 
    532572 
    533573        sCgAntiAliasingProgram->Bind(); 
     
    565605        const Vector3 lightDir = -light->GetDirection(); 
    566606 
    567         sCgDeferredProgram->SetTexture("colors", colorsTex); 
    568         sCgDeferredProgram->SetTexture("normals", normalsTex); 
    569         sCgDeferredProgram->SetValue3f("lightDir", lightDir.x, lightDir.y, lightDir.z); 
     607        sCgDeferredProgram->SetTexture(0, colorsTex); 
     608        sCgDeferredProgram->SetTexture(1, normalsTex); 
     609        sCgDeferredProgram->SetValue3f(2, lightDir.x, lightDir.y, lightDir.z); 
    570610         
    571611        DrawQuad(sCgDeferredProgram); 
     
    603643         
    604644 
    605         sCgGiProgram->SetTexture("colors", colorsTex); 
    606         sCgGiProgram->SetTexture("normals", normalsTex); 
    607         sCgGiProgram->SetTexture("noise", noiseTex); 
    608         sCgGiProgram->SetTexture("oldSsaoTex", oldSsaoTex); 
    609         sCgGiProgram->SetTexture("oldIllumTex", oldIllumTex); 
    610  
    611         sCgGiProgram->SetValue1f("temporalCoherence",  
     645        sCgGiProgram->SetTexture(0, colorsTex); 
     646        sCgGiProgram->SetTexture(1, normalsTex); 
     647        sCgGiProgram->SetTexture(2, noiseTex); 
     648        sCgGiProgram->SetTexture(3, oldSsaoTex); 
     649        sCgGiProgram->SetTexture(4, oldIllumTex); 
     650 
     651        const Vector3 pos = mCamera->GetPosition(); 
     652        sCgGiProgram->SetValue3f(5, pos.x, pos.y, pos.z); 
     653 
     654 
     655        sCgGiProgram->SetValue1f(6,  
    612656                (mUseTemporalCoherence && !mRegenerateSamples) ? tempCohFactor : 0); 
    613657 
     
    621665                GenerateSamples(mSamplingMethod);  
    622666 
    623                 sCgGiProgram->SetArray2f("samples", (float *)samples2, NUM_SAMPLES); 
     667                sCgGiProgram->SetArray2f(7, (float *)samples2, NUM_SAMPLES); 
    624668        } 
    625669 
     
    628672        ComputeViewVectors(tl, tr, bl, br); 
    629673         
    630         const Vector3 pos = mCamera->GetPosition(); 
    631         sCgGiProgram->SetValue3f("eyePos", pos.x, pos.y, pos.z); 
    632  
    633         sCgGiProgram->SetValue3f("bl", bl.x, bl.y, bl.z); 
    634         sCgGiProgram->SetValue3f("br", br.x, br.y, br.z); 
    635         sCgGiProgram->SetValue3f("tl", tl.x, tl.y, tl.z); 
    636         sCgGiProgram->SetValue3f("tr", tr.x, tr.y, tr.z); 
     674        sCgGiProgram->SetValue3f(8, bl.x, bl.y, bl.z); 
     675        sCgGiProgram->SetValue3f(9, br.x, br.y, br.z); 
     676        sCgGiProgram->SetValue3f(10, tl.x, tl.y, tl.z); 
     677        sCgGiProgram->SetValue3f(11, tr.x, tr.y, tr.z); 
    637678 
    638679        DrawQuad(sCgGiProgram); 
Note: See TracChangeset for help on using the changeset viewer.