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
This commit is contained in:
parent
52af51708f
commit
236643606e
|
@ -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++) {
|
||||
|
|
Loading…
Reference in New Issue