History

Revolutionizing ao

samcake committed 10 years ago

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

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

Unified · Split

libraries/render-utils/src/DebugDeferredBuffer.cpp+7−10
@@ -202,14 +202,14 @@ static const std::string DEFAULT_DEBUG_SCATTERING_SHADER{ · 201 unmodified lines
202 202
203static const std::string DEFAULT_AMBIENT_OCCLUSION_SHADER{203static const std::string DEFAULT_AMBIENT_OCCLUSION_SHADER{
204 "vec4 getFragmentColor() {"204 "vec4 getFragmentColor() {"
205 " return vec4(vec3(texture(obscuranceMap, uv).x), 1.0);"205 " return vec4(vec3(texture(obscuranceMap, uv).xyz), 1.0);"
206 // When drawing color " return vec4(vec3(texture(occlusionMap, uv).xyz), 1.0);"206 // When drawing color " return vec4(vec3(texture(occlusionMap, uv).xyz), 1.0);"
207 // when drawing normal " return vec4(normalize(texture(occlusionMap, uv).xyz * 2.0 - vec3(1.0)), 1.0);"207 // when drawing normal" return vec4(normalize(texture(occlusionMap, uv).xyz * 2.0 - vec3(1.0)), 1.0);"
208 " }"208 " }"
209};209};
210static const std::string DEFAULT_AMBIENT_OCCLUSION_BLURRED_SHADER{210static const std::string DEFAULT_AMBIENT_OCCLUSION_BLURRED_SHADER{
211 "vec4 getFragmentColor() {"211 "vec4 getFragmentColor() {"
212 " return vec4(vec3(texture(occlusionBlurredMap, uv).x), 1.0);"212 " return vec4(vec3(texture(occlusionBlurredMap, uv).xyz), 1.0);"
213 " }"213 " }"
214};214};
215 215
@@ -379,6 +379,7 @@ void DebugDeferredBuffer::run(const SceneContextPointer& sceneContext, const Ren · 163 unmodified lines
379 auto& deferredFramebuffer = inputs.get0();379 auto& deferredFramebuffer = inputs.get0();
380 auto& linearDepthTarget = inputs.get1();380 auto& linearDepthTarget = inputs.get1();
381 auto& surfaceGeometryFramebuffer = inputs.get2();381 auto& surfaceGeometryFramebuffer = inputs.get2();
382 auto& ambientOcclusionFramebuffer = inputs.get3();
382 383
383 gpu::doInBatch(args->_context, [&](gpu::Batch& batch) {384 gpu::doInBatch(args->_context, [&](gpu::Batch& batch) {
384 batch.enableStereo(false);385 batch.enableStereo(false);
@@ -414,13 +415,9 @@ void DebugDeferredBuffer::run(const SceneContextPointer& sceneContext, const Ren · 29 unmodified lines
414 415
415 batch.setResourceTexture(Curvature, surfaceGeometryFramebuffer->getCurvatureTexture());416 batch.setResourceTexture(Curvature, surfaceGeometryFramebuffer->getCurvatureTexture());
416 batch.setResourceTexture(DiffusedCurvature, surfaceGeometryFramebuffer->getLowCurvatureTexture());417 batch.setResourceTexture(DiffusedCurvature, surfaceGeometryFramebuffer->getLowCurvatureTexture());
417 if (DependencyManager::get<DeferredLightingEffect>()->isAmbientOcclusionEnabled()) {418
418 batch.setResourceTexture(AmbientOcclusion, framebufferCache->getOcclusionTexture());419 batch.setResourceTexture(AmbientOcclusion, ambientOcclusionFramebuffer->getOcclusionTexture());
419 } else {420 batch.setResourceTexture(AmbientOcclusionBlurred, ambientOcclusionFramebuffer->getOcclusionBlurredTexture());
420 // need to assign the white texture if ao is off
421 batch.setResourceTexture(AmbientOcclusion, textureCache->getWhiteTexture());
422 }
423 batch.setResourceTexture(AmbientOcclusionBlurred, framebufferCache->getOcclusionBlurredTexture());
424 421
425 const glm::vec4 color(1.0f, 1.0f, 1.0f, 1.0f);422 const glm::vec4 color(1.0f, 1.0f, 1.0f, 1.0f);
426 const glm::vec2 bottomLeft(_size.x, _size.y);423 const glm::vec2 bottomLeft(_size.x, _size.y);