diff --git a/src/textures/bump2normal.cpp b/src/textures/bump2normal.cpp index d3fa30bf..86912145 100644 --- a/src/textures/bump2normal.cpp +++ b/src/textures/bump2normal.cpp @@ -55,7 +55,10 @@ class Bump2NormalTextureInstance final : public Texture::Instance { _bump->evaluate(Interaction{it.uv() - make_float2(step, 0.f)}, time).x; auto dy = _bump->evaluate(Interaction{it.uv() + make_float2(0.f, step)}, time).x - _bump->evaluate(Interaction{it.uv() - make_float2(0.f, step)}, time).x; - n = normalize(make_float3(dx / (2.f * step), -dy / (2.f * step), 1.f)); + n = normalize(make_float3( + clamp(dx / (2.f * step), -1.f, 1.f), + clamp(-dy / (2.f * step), -1.f, 1.f), + 1.f)); }; return make_float4(n * 0.5f + 0.5f, 1.f); }