History

Revolutionizing ao

samcake committed 10 years ago

Commit afb1ebf1 parent 4f04dbc12 files · +221 −190Browse files

Showing the changes to libraries/render-utils/src/DeferredLightingEffect.cpp (1 of 12 files). Show all

Unified · Split

libraries/render-utils/src/DeferredLightingEffect.cpp+4−7
@@ -400,7 +400,7 @@ void RenderDeferredSetup::run(const render::SceneContextPointer& sceneContext, c · 399 unmodified lines
400400 const DeferredFramebufferPointer& deferredFramebuffer,
401401 const LightingModelPointer& lightingModel,
402402 const SurfaceGeometryFramebufferPointer& surfaceGeometryFramebuffer,
403− const gpu::FramebufferPointer& lowCurvatureNormalFramebuffer,
403+ const AmbientOcclusionFramebufferPointer& ambientOcclusionFramebuffer,
404404 const SubsurfaceScatteringResourcePointer& subsurfaceScatteringResource) {
405405
406406 auto args = renderContext->args;
@@ -431,7 +431,7 @@ void RenderDeferredSetup::run(const render::SceneContextPointer& sceneContext, c · 24 unmodified lines
431431
432432 // FIXME: Different render modes should have different tasks
433433 if (args->_renderMode == RenderArgs::DEFAULT_RENDER_MODE && deferredLightingEffect->isAmbientOcclusionEnabled()) {
434− batch.setResourceTexture(DEFERRED_BUFFER_OBSCURANCE_UNIT, framebufferCache->getOcclusionTexture());
434+ batch.setResourceTexture(DEFERRED_BUFFER_OBSCURANCE_UNIT, ambientOcclusionFramebuffer->getOcclusionTexture());
435435 } else {
436436 // need to assign the white texture if ao is off
437437 batch.setResourceTexture(DEFERRED_BUFFER_OBSCURANCE_UNIT, textureCache->getWhiteTexture());
@@ -446,9 +446,6 @@ void RenderDeferredSetup::run(const render::SceneContextPointer& sceneContext, c · 8 unmodified lines
446446 // Subsurface scattering specific
447447 if (surfaceGeometryFramebuffer) {
448448 batch.setResourceTexture(DEFERRED_BUFFER_CURVATURE_UNIT, surfaceGeometryFramebuffer->getCurvatureTexture());
449− }
450− if (lowCurvatureNormalFramebuffer) {
451− // batch.setResourceTexture(DEFERRED_BUFFER_DIFFUSED_CURVATURE_UNIT, lowCurvatureNormalFramebuffer->getRenderBuffer(0));
452449 batch.setResourceTexture(DEFERRED_BUFFER_DIFFUSED_CURVATURE_UNIT, surfaceGeometryFramebuffer->getLowCurvatureTexture());
453450 }
454451 if (subsurfaceScatteringResource) {
@@ -693,7 +690,7 @@ void RenderDeferred::run(const SceneContextPointer& sceneContext, const RenderCo · 238 unmodified lines
693690 auto deferredFramebuffer = inputs.get1();
694691 auto lightingModel = inputs.get2();
695692 auto surfaceGeometryFramebuffer = inputs.get3();
696− auto lowCurvatureNormalFramebuffer = inputs.get4();
693+ auto ssaoFramebuffer = inputs.get4();
697694 auto subsurfaceScatteringResource = inputs.get5();
698695 auto args = renderContext->args;
699696
@@ -701,7 +698,7 @@ void RenderDeferred::run(const SceneContextPointer& sceneContext, const RenderCo · 1 unmodified line
701698 _gpuTimer.begin(batch);
702699 });
703700
704− setupJob.run(sceneContext, renderContext, deferredTransform, deferredFramebuffer, lightingModel, surfaceGeometryFramebuffer, lowCurvatureNormalFramebuffer, subsurfaceScatteringResource);
701+ setupJob.run(sceneContext, renderContext, deferredTransform, deferredFramebuffer, lightingModel, surfaceGeometryFramebuffer, ssaoFramebuffer, subsurfaceScatteringResource);
705702
706703 lightsJob.run(sceneContext, renderContext, deferredTransform, deferredFramebuffer, lightingModel);
707704