Commit: 3e8a9160ba4d11bba69a78da72c9b2e4d569193c Author: Aleksi Juvani Date: Wed Apr 6 16:58:59 2022 -0500 Branches: temp-T96710-pbvh-pixels https://developer.blender.org/rB3e8a9160ba4d11bba69a78da72c9b2e4d569193c
Fix: Division by zero in UV packing function If all islands had a size of zero, a division by zero would occur in `GEO_uv_parametrizer_pack`, causing the UV coordinates to be set to NaN. An alternative approach would be to skip packing islands with a zero size, but If UV coordinates are for example outside the 0-1 range, it's better if they get moved into that range. Differential Revision: https://developer.blender.org/D14522 =================================================================== M source/blender/geometry/intern/uv_parametrizer.c =================================================================== diff --git a/source/blender/geometry/intern/uv_parametrizer.c b/source/blender/geometry/intern/uv_parametrizer.c index 7b63dcb5ff0..dd97a996b18 100644 --- a/source/blender/geometry/intern/uv_parametrizer.c +++ b/source/blender/geometry/intern/uv_parametrizer.c @@ -4841,10 +4841,10 @@ void GEO_uv_parametrizer_pack(ParamHandle *handle, BLI_box_pack_2d(boxarray, phandle->ncharts - unpacked, &tot_width, &tot_height); if (tot_height > tot_width) { - scale = 1.0f / tot_height; + scale = tot_height != 0.0f ? (1.0f / tot_height) : 1.0f; } else { - scale = 1.0f / tot_width; + scale = tot_width != 0.0f ? (1.0f / tot_width) : 1.0f; } for (i = 0; i < phandle->ncharts - unpacked; i++) { _______________________________________________ Bf-blender-cvs mailing list [email protected] List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
