From a4c70388c57f3419abf25333d76e2566f9f20b29 Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Tue, 10 Dec 2019 10:59:13 +0200 Subject: [PATCH] Allow for slightly bad normals in reproject --- components/renderers/cpp/src/reprojection.cu | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/renderers/cpp/src/reprojection.cu b/components/renderers/cpp/src/reprojection.cu index e6490c47e..b23ad81e9 100644 --- a/components/renderers/cpp/src/reprojection.cu +++ b/components/renderers/cpp/src/reprojection.cu @@ -89,7 +89,9 @@ __global__ void reprojection_kernel( const float3 n = transformR * make_float3(normals.tex2D((int)x, (int)y)); float3 ray = camera.screenToCam(screenPos.x, screenPos.y, 1.0f); ray = ray / length(ray); - const float dotproduct = max(dot(ray,n),0.0f); + + // Allow slightly beyond 90 degrees due to normal estimation errors + const float dotproduct = (max(dot(ray,n),-0.1f)+0.1) / 1.1f; const float d2 = depth_src.tex2D(int(screenPos.x+0.5f), int(screenPos.y+0.5f)); const auto input = in.tex2D(screenPos.x, screenPos.y); //generateInput(in.tex2D((int)screenPos.x, (int)screenPos.y), params, worldPos); -- GitLab