diff options
Diffstat (limited to 'src/3d/sdf_cpu.h')
| -rw-r--r-- | src/3d/sdf_cpu.h | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/3d/sdf_cpu.h b/src/3d/sdf_cpu.h index e0f1b3f..e7f9f47 100644 --- a/src/3d/sdf_cpu.h +++ b/src/3d/sdf_cpu.h @@ -44,13 +44,9 @@ inline float sdPlane(vec3 p, vec3 n, float h) { */ template <typename F> inline vec3 calc_normal(vec3 p, F sdf_func, float e = 0.001f) { - const float d2e = 2.0f * e; - return vec3(sdf_func(vec3(p.x + e, p.y, p.z)) - - sdf_func(vec3(p.x - e, p.y, p.z)), - sdf_func(vec3(p.x, p.y + e, p.z)) - - sdf_func(vec3(p.x, p.y - e, p.z)), - sdf_func(vec3(p.x, p.y, p.z + e)) - - sdf_func(vec3(p.x, p.y, p.z - e))) + return vec3(sdf_func(vec3(p.x + e, p.y, p.z)) - sdf_func(vec3(p.x - e, p.y, p.z)), + sdf_func(vec3(p.x, p.y + e, p.z)) - sdf_func(vec3(p.x, p.y - e, p.z)), + sdf_func(vec3(p.x, p.y, p.z + e)) - sdf_func(vec3(p.x, p.y, p.z - e))) .normalize(); } |
