summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2021-10-15 16:31:55 +0200
committerGitHub <noreply@github.com>2021-10-15 16:31:55 +0200
commitd15512c17f0f969e3f73e3cec4b74819b37fb7ae (patch)
tree4ccd0dc95ef4dba05f9b83a2dcc45a45b413f7b3
parent5a276443bdf526620d0c9eafd60658eb4f822d9b (diff)
parenta3f315c81bc782ef75ee2cecfc47d136db6d4a54 (diff)
Merge pull request #53844 from williamd67/GPULightmapper-increase-ray-triangle-hit-rate
-rw-r--r--modules/lightmapper_rd/lm_compute.glsl3
1 files changed, 2 insertions, 1 deletions
diff --git a/modules/lightmapper_rd/lm_compute.glsl b/modules/lightmapper_rd/lm_compute.glsl
index 6e5c9f25ba..158cd960c4 100644
--- a/modules/lightmapper_rd/lm_compute.glsl
+++ b/modules/lightmapper_rd/lm_compute.glsl
@@ -94,13 +94,14 @@ params;
//check it, but also return distance and barycentric coords (for uv lookup)
bool ray_hits_triangle(vec3 from, vec3 dir, float max_dist, vec3 p0, vec3 p1, vec3 p2, out float r_distance, out vec3 r_barycentric) {
+ const float EPSILON = 0.00001;
const vec3 e0 = p1 - p0;
const vec3 e1 = p0 - p2;
vec3 triangle_normal = cross(e1, e0);
float n_dot_dir = dot(triangle_normal, dir);
- if (abs(n_dot_dir) < 0.01) {
+ if (abs(n_dot_dir) < EPSILON) {
return false;
}