- Timestamp:
- 10/16/08 19:51:16 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/App/Demos/Vis/FriendlyCulling/src/DeferredRenderer.cpp
r3028 r3034 319 319 InitProgram(&sCgLogLumProgram, context, "tonemap", "CalcAvgLogLum"); 320 320 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 321 362 float filterWeights[NUM_PCF_TABS]; 322 363 PoissonDiscSampleGenerator2 poisson(NUM_PCF_TABS, 1.0f); … … 451 492 glDrawBuffers(1, mrt + mIllumFboIndex); 452 493 494 sCgSsaoProgram->SetTexture(0, colorsTex); 495 sCgSsaoProgram->SetTexture(1, normalsTex); 496 sCgSsaoProgram->SetTexture(2, oldTex); 497 sCgSsaoProgram->SetTexture(3, noiseTex); 498 453 499 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); 465 505 466 506 if (mUseTemporalCoherence || mRegenerateSamples) … … 472 512 // needs longer to converge 473 513 GenerateSamples(mSamplingMethod); 474 sCgSsaoProgram->SetArray2f( "samples", (float *)samples2, NUM_SAMPLES);514 sCgSsaoProgram->SetArray2f(8, (float *)samples2, NUM_SAMPLES); 475 515 } 476 516 … … 478 518 ComputeViewVectors(tl, tr, bl, br); 479 519 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); 484 524 485 525 DrawQuad(sCgSsaoProgram); … … 528 568 GLuint normalsTex = fbo->GetColorBuffer(2)->GetTexture(); 529 569 530 sCgAntiAliasingProgram->SetTexture( "colors", colorsTex);531 sCgAntiAliasingProgram->SetTexture( "normals", normalsTex);570 sCgAntiAliasingProgram->SetTexture(0, colorsTex); 571 sCgAntiAliasingProgram->SetTexture(1, normalsTex); 532 572 533 573 sCgAntiAliasingProgram->Bind(); … … 565 605 const Vector3 lightDir = -light->GetDirection(); 566 606 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); 570 610 571 611 DrawQuad(sCgDeferredProgram); … … 603 643 604 644 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, 612 656 (mUseTemporalCoherence && !mRegenerateSamples) ? tempCohFactor : 0); 613 657 … … 621 665 GenerateSamples(mSamplingMethod); 622 666 623 sCgGiProgram->SetArray2f( "samples", (float *)samples2, NUM_SAMPLES);667 sCgGiProgram->SetArray2f(7, (float *)samples2, NUM_SAMPLES); 624 668 } 625 669 … … 628 672 ComputeViewVectors(tl, tr, bl, br); 629 673 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); 637 678 638 679 DrawQuad(sCgGiProgram);
Note: See TracChangeset
for help on using the changeset viewer.