From b7f14789af271ca90a87f110cacdd41af2f44d3a Mon Sep 17 00:00:00 2001 From: samcake Date: Thu, 21 Jan 2016 19:02:32 -0800 Subject: [PATCH 1/3] Refining the ao effect on the blur side --- libraries/render-utils/src/ssao.slh | 4 ++-- libraries/render-utils/src/ssao_makeHorizontalBlur.slf | 1 - libraries/render-utils/src/ssao_makeVerticalBlur.slf | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/libraries/render-utils/src/ssao.slh b/libraries/render-utils/src/ssao.slh index f3c52bc1a6..9d15cdb8b4 100644 --- a/libraries/render-utils/src/ssao.slh +++ b/libraries/render-utils/src/ssao.slh @@ -182,8 +182,8 @@ vec2 fetchOcclusionDepth(ivec2 coords) { return unpackOcclusionDepth(texelFetch(occlusionMap, coords, 0).xyz); } -const int RADIUS_SCALE = 2; -const float BLUR_WEIGHT_OFFSET = 0.3; +const int RADIUS_SCALE = 1; +const float BLUR_WEIGHT_OFFSET = 0.0; const float BLUR_EDGE_SCALE = 2000.0; vec2 evalTapWeightedValue(ivec3 side, int r, ivec2 ssC, float key) { diff --git a/libraries/render-utils/src/ssao_makeHorizontalBlur.slf b/libraries/render-utils/src/ssao_makeHorizontalBlur.slf index 7be4f527ce..7c10a2a208 100644 --- a/libraries/render-utils/src/ssao_makeHorizontalBlur.slf +++ b/libraries/render-utils/src/ssao_makeHorizontalBlur.slf @@ -15,7 +15,6 @@ const ivec2 horizontal = ivec2(1,0); <$declareBlurPass(horizontal)$> -in vec2 varTexCoord0; out vec4 outFragColor; void main(void) { diff --git a/libraries/render-utils/src/ssao_makeVerticalBlur.slf b/libraries/render-utils/src/ssao_makeVerticalBlur.slf index f0a6139906..3325bfb79c 100644 --- a/libraries/render-utils/src/ssao_makeVerticalBlur.slf +++ b/libraries/render-utils/src/ssao_makeVerticalBlur.slf @@ -13,7 +13,6 @@ const ivec2 vertical = ivec2(0,1); <$declareBlurPass(vertical)$> -in vec2 varTexCoord0; out vec4 outFragColor; void main(void) { From 6bcd7f10ad0089b5422016b30623d97a400ff244 Mon Sep 17 00:00:00 2001 From: samcake Date: Thu, 21 Jan 2016 23:54:51 -0800 Subject: [PATCH 2/3] Try the constant gaussian values which are more stable on mac... --- libraries/render-utils/src/ssao.slh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libraries/render-utils/src/ssao.slh b/libraries/render-utils/src/ssao.slh index 9d15cdb8b4..a3dff16aac 100644 --- a/libraries/render-utils/src/ssao.slh +++ b/libraries/render-utils/src/ssao.slh @@ -134,6 +134,7 @@ float getBlurEdgeSharpness() { return params._blurInfo.x; } +#define CONSTANT_GAUSSIAN #ifdef CONSTANT_GAUSSIAN const int BLUR_RADIUS = 4; const float gaussian[BLUR_RADIUS + 1] = @@ -146,12 +147,10 @@ float[](0.153170, 0.144893, 0.122649, 0.092902, 0.062970); // stddev = 2.0 int getBlurRadius() { return BLUR_RADIUS; - return int(params._blurInfo.y); } float getBlurCoef(int c) { return gaussian[c]; - return params._gaussianCoefs[c]; } #else int getBlurRadius() { From 24d1f113f8ca0bf65fde98ba65936579e57051d7 Mon Sep 17 00:00:00 2001 From: samcake Date: Fri, 22 Jan 2016 09:44:32 -0800 Subject: [PATCH 3/3] Fixing the warning maybe --- libraries/render-utils/src/AmbientOcclusionEffect.h | 2 +- libraries/render-utils/src/ssao.slh | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/libraries/render-utils/src/AmbientOcclusionEffect.h b/libraries/render-utils/src/AmbientOcclusionEffect.h index dfbc5b996e..9973bd9ec8 100644 --- a/libraries/render-utils/src/AmbientOcclusionEffect.h +++ b/libraries/render-utils/src/AmbientOcclusionEffect.h @@ -106,7 +106,7 @@ private: // Dithering info glm::vec4 ditheringInfo { 0.0f, 0.0f, 0.01f, 1.0f }; // Sampling info - glm::vec4 sampleInfo { 11.0f, 1.0/11.0f, 7.0f, 1.0f }; + glm::vec4 sampleInfo { 11.0f, 1.0f/11.0f, 7.0f, 1.0f }; // Blurring info glm::vec4 blurInfo { 1.0f, 3.0f, 2.0f, 0.0f }; // gaussian distribution coefficients first is the sampling radius (max is 6) diff --git a/libraries/render-utils/src/ssao.slh b/libraries/render-utils/src/ssao.slh index a3dff16aac..5fcd224e9d 100644 --- a/libraries/render-utils/src/ssao.slh +++ b/libraries/render-utils/src/ssao.slh @@ -134,7 +134,6 @@ float getBlurEdgeSharpness() { return params._blurInfo.x; } -#define CONSTANT_GAUSSIAN #ifdef CONSTANT_GAUSSIAN const int BLUR_RADIUS = 4; const float gaussian[BLUR_RADIUS + 1] = @@ -182,7 +181,7 @@ vec2 fetchOcclusionDepth(ivec2 coords) { } const int RADIUS_SCALE = 1; -const float BLUR_WEIGHT_OFFSET = 0.0; +const float BLUR_WEIGHT_OFFSET = 0.05; const float BLUR_EDGE_SCALE = 2000.0; vec2 evalTapWeightedValue(ivec3 side, int r, ivec2 ssC, float key) {