Weizhen Huang
ee578cc738
Fix #139753 : Discontinuity in mesh tangent without UV map
...
when there is no uv, we call the function `map_to_sphere()` to create
temporary uv for computing the tangent. It could happen that a triangle
has vertices with the u coordinates going across the line where u wraps
from 1 to 0. In this case, just computing the difference of the u
coordinates results in the wrong triangle area.
To fix this problem, we compute distance in toroidal (wrap around)
space.
This is safe for coordinates generated by `map_to_sphere()` function,
because it is not supposed to map the positions of a triangle to u
coordinates that span larger than 0.5.
Pull Request: https://projects.blender.org/blender/blender/pulls/139880
2025-06-09 13:52:00 +02:00
..
2025-01-28 15:27:34 +01:00
2025-04-21 17:59:41 +02:00
2025-04-21 17:59:41 +02:00
2025-06-06 11:49:54 +02:00
2025-03-20 11:25:19 +01:00
2025-05-22 15:56:53 +02:00
2025-05-09 16:13:25 +02:00
2025-05-22 15:56:53 +02:00
2025-03-20 11:25:19 +01:00
2025-05-08 10:08:36 +02:00
2025-04-21 17:59:41 +02:00
2025-01-28 15:27:34 +01:00
2025-03-20 11:25:19 +01:00
2025-06-02 19:30:21 +02:00
2025-05-16 14:45:46 +02:00
2025-04-21 17:59:41 +02:00
2025-03-20 11:25:19 +01:00
2025-06-06 11:49:54 +02:00
2025-05-20 13:26:43 +02:00
2025-05-17 10:17:37 +10:00
2025-03-05 16:35:09 +01:00
2025-03-20 11:25:19 +01:00
2025-01-26 00:39:59 +01:00
2025-05-28 22:05:03 -04:00
2025-05-30 14:46:39 +02:00
2025-01-30 17:19:16 +01:00
2025-05-09 17:27:07 +02:00
2025-05-20 10:21:23 -04:00
2025-05-19 21:29:57 +02:00
2025-01-31 17:03:17 +01:00
2025-01-28 15:27:34 +01:00
2025-03-05 16:35:09 +01:00
2025-02-12 23:01:08 +01:00
2025-01-29 12:12:27 +01:00
2025-05-10 04:37:43 +02:00
2025-06-02 13:50:07 +02:00
2025-04-14 17:48:17 +02:00
2025-05-29 21:21:18 +02:00
2025-01-28 15:27:34 +01:00
2025-03-05 16:35:09 +01:00
2025-03-20 11:25:19 +01:00
2025-04-29 10:42:45 +02:00
2025-06-06 14:30:54 +02:00
2025-05-29 21:21:18 +02:00
2025-03-20 11:25:19 +01:00
2025-05-20 04:33:43 +00:00
2025-03-20 11:25:19 +01:00
2025-05-20 20:29:52 +02:00
2025-06-07 12:40:27 +10:00
2025-02-19 17:11:08 +01:00
2025-06-04 11:04:37 +02:00
2025-01-28 15:27:34 +01:00
2025-05-20 17:32:49 +02:00
2025-02-13 18:58:08 +01:00
2025-02-13 18:58:08 +01:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-03-20 11:25:19 +01:00
2025-02-13 18:58:08 +01:00
2025-03-20 11:25:19 +01:00
2025-06-04 15:47:43 +02:00
2025-06-02 17:13:56 -04:00
2025-03-20 11:25:19 +01:00
2025-05-09 14:01:43 +02:00
2025-06-02 17:13:56 -04:00
2025-05-24 11:45:06 +02:00
2025-05-17 10:17:37 +10:00
2025-05-07 15:00:55 +02:00
2025-04-03 15:44:06 +02:00
2025-05-02 15:08:29 +02:00
2025-03-20 11:25:19 +01:00
2025-04-12 13:03:01 +10:00
2025-03-20 11:25:19 +01:00
2024-10-31 11:25:41 +01:00
2025-05-20 10:11:56 +00:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-05-12 16:51:21 +02:00
2025-06-04 20:43:15 +02:00
2025-04-29 18:28:45 +02:00
2025-04-29 18:28:45 +02:00
2025-05-20 17:32:49 +02:00
2025-04-21 17:59:41 +02:00
2025-01-24 12:05:25 +01:00
2025-05-28 04:27:34 +02:00
2025-06-04 20:43:15 +02:00
2025-06-04 20:43:15 +02:00
2025-05-20 17:32:49 +02:00
2025-04-21 17:59:41 +02:00
2025-05-20 13:26:43 +02:00
2024-12-30 11:18:39 -05:00
2025-05-14 15:35:48 +02:00
2025-05-20 13:26:43 +02:00
2025-04-26 11:17:13 +00:00
2025-04-22 06:13:33 +00:00
2025-04-21 17:59:41 +02:00
2025-04-21 17:59:41 +02:00
2025-01-28 15:27:34 +01:00
2025-06-09 13:52:00 +02:00
2025-05-02 15:08:29 +02:00
2025-06-09 11:35:19 +02:00
2025-05-29 21:21:18 +02:00
2025-05-07 19:32:00 +02:00
2025-01-31 17:03:17 +01:00
2025-04-21 17:59:41 +02:00
2025-01-31 17:03:17 +01:00
2025-05-20 13:26:43 +02:00
2025-05-17 10:17:37 +10:00
2025-03-20 11:25:19 +01:00
2025-03-05 23:16:09 -05:00
2025-05-05 18:41:03 +02:00
2024-09-23 13:54:02 +02:00
2024-11-19 14:28:01 +01:00
2025-01-14 19:55:11 +01:00
2025-04-04 19:16:51 +02:00
2024-11-19 14:28:01 +01:00
2024-08-15 10:54:21 +02:00
2025-04-29 18:28:45 +02:00
2025-04-14 17:48:17 +02:00
2025-03-27 20:40:58 +01:00
2025-05-01 11:44:33 +10:00
2025-04-21 17:59:41 +02:00
2025-05-05 18:41:03 +02:00
2025-05-20 13:26:43 +02:00
2024-11-19 14:28:01 +01:00
2025-06-06 11:49:54 +02:00
2025-05-09 16:13:25 +02:00
2025-03-05 16:35:09 +01:00
2025-05-20 17:32:49 +02:00
2025-03-03 17:11:45 +01:00
2025-05-07 04:53:16 +02:00
2025-01-03 19:15:01 +01:00
2025-01-31 17:03:17 +01:00
2025-05-22 09:19:21 +02:00
2025-05-07 16:40:22 +02:00
2025-05-08 15:37:28 +02:00
2025-02-28 14:43:05 +01:00
2025-06-03 16:57:27 +02:00
2025-01-31 17:03:17 +01:00
2025-05-07 18:01:34 +02:00
2025-05-08 18:37:44 +02:00
2025-03-27 22:07:50 +01:00
2025-06-09 11:35:19 +02:00
2025-01-28 15:27:34 +01:00
2025-05-07 04:53:16 +02:00
2025-05-05 18:41:03 +02:00
2025-01-31 17:03:17 +01:00
2025-05-20 10:11:56 +00:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-05-16 10:14:29 +02:00
2025-05-20 17:32:49 +02:00
2025-04-21 17:59:41 +02:00
2025-01-28 15:27:34 +01:00
2025-06-06 11:53:26 +02:00
2025-06-06 11:49:54 +02:00
2025-01-31 17:03:17 +01:00
2025-01-31 17:03:17 +01:00
2025-05-04 01:25:05 +02:00
2025-06-06 11:49:54 +02:00
2024-11-02 17:27:09 +11:00
2025-02-12 23:01:08 +01:00
2025-05-29 21:21:18 +02:00
2025-05-06 00:18:39 +00:00
2025-06-06 11:49:54 +02:00
2025-05-05 18:41:03 +02:00
2025-05-27 18:45:46 +02:00
2025-05-05 18:41:03 +02:00
2025-03-05 16:35:09 +01:00
2025-05-22 16:32:44 +02:00
2025-05-20 17:32:49 +02:00
2025-05-20 17:32:49 +02:00
2025-03-20 11:25:19 +01:00
2025-01-14 16:26:54 +01:00
2025-05-22 17:57:23 +02:00
2025-05-09 16:13:25 +02:00
2025-04-22 06:13:31 +00:00
2025-04-17 13:09:20 +02:00
2025-04-26 11:17:13 +00:00
2025-05-05 18:41:03 +02:00
2025-05-20 17:32:49 +02:00
2025-03-20 11:25:19 +01:00
2025-05-20 17:32:49 +02:00
2025-04-03 18:39:49 +02:00
2025-04-29 18:52:30 +02:00
2025-05-20 10:11:56 +00:00
2025-05-30 11:03:56 +10:00
2025-01-31 17:03:17 +01:00
2025-05-14 17:56:07 +02:00
2025-01-28 15:27:34 +01:00
2024-12-04 16:06:36 +01:00
2025-06-04 17:46:48 +02:00
2025-03-05 16:35:09 +01:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-05-14 15:35:48 +02:00
2025-05-15 10:13:23 +10:00
2025-06-02 17:13:56 -04:00
2025-03-29 02:52:00 +01:00
2025-04-04 19:16:51 +02:00
2025-01-28 15:27:34 +01:00
2025-06-09 13:52:00 +02:00
2025-01-31 17:03:17 +01:00
2025-01-28 15:27:34 +01:00
2025-03-20 11:25:19 +01:00
2025-05-19 11:50:00 +02:00
2025-06-09 08:31:09 +02:00
2025-05-20 13:26:43 +02:00
2025-05-20 17:32:49 +02:00
2025-01-07 12:39:13 +01:00
2025-04-21 17:59:41 +02:00
2025-01-28 15:27:34 +01:00
2025-04-21 17:59:41 +02:00
2025-01-29 17:22:51 +11:00
2025-05-02 15:08:29 +02:00
2025-05-02 15:08:29 +02:00
2025-01-07 12:39:13 +01:00
2025-01-28 15:27:34 +01:00
2025-04-21 17:59:41 +02:00
2025-01-07 12:39:13 +01:00
2025-01-28 15:27:34 +01:00
2025-05-02 15:08:29 +02:00
2025-01-31 17:03:17 +01:00
2025-04-26 11:17:13 +00:00
2025-01-28 15:27:34 +01:00
2025-05-22 04:48:43 +02:00
2025-04-03 15:44:06 +02:00
2025-03-23 13:34:07 +01:00
2025-06-02 13:50:07 +02:00
2025-05-28 02:33:47 +02:00
2025-06-02 13:50:07 +02:00
2025-06-03 11:28:30 -04:00
2025-06-03 10:08:22 -04:00
2025-05-19 17:25:36 +02:00
2025-06-02 13:50:07 +02:00
2025-05-14 11:42:15 +02:00
2025-05-24 10:39:36 +02:00
2025-04-17 13:09:20 +02:00
2025-06-06 11:49:54 +02:00
2025-02-13 18:58:08 +01:00
2025-05-01 11:04:45 +00:00
2025-05-08 15:37:28 +02:00
2025-01-28 15:27:34 +01:00
2025-06-02 17:13:56 -04:00
2025-02-12 23:01:08 +01:00
2025-06-06 11:53:26 +02:00
2025-01-31 17:03:17 +01:00
2025-04-21 17:59:41 +02:00
2025-05-22 01:01:08 +00:00
2025-05-20 17:32:49 +02:00
2025-06-02 11:40:05 +02:00
2025-06-04 01:51:29 +00:00
2025-04-12 00:50:03 +02:00
2024-11-01 17:27:07 +01:00
2025-01-31 17:03:17 +01:00
2025-01-07 12:39:13 +01:00
2025-05-23 15:34:26 +02:00
2025-05-23 15:34:26 +02:00
2025-04-25 21:47:08 +02:00
2025-05-29 21:45:17 +02:00
2025-05-02 15:08:29 +02:00
2025-02-19 17:11:08 +01:00
2025-05-20 17:32:49 +02:00
2025-06-06 11:49:54 +02:00
2025-04-12 13:03:01 +10:00
2025-03-20 11:25:19 +01:00
2025-04-21 17:59:41 +02:00
2025-06-02 17:13:56 -04:00
2025-06-06 13:37:05 +02:00
2025-06-02 17:13:56 -04:00
2025-02-12 23:01:08 +01:00
2025-06-02 17:13:56 -04:00
2025-05-30 06:32:08 +02:00
2025-05-29 11:01:29 +10:00
2025-05-20 17:32:49 +02:00
2025-05-17 10:17:37 +10:00
2025-03-20 11:25:19 +01:00
2024-07-26 21:16:37 +02:00
2025-06-02 22:32:34 +02:00
2025-03-20 11:25:19 +01:00
2025-04-21 17:59:41 +02:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-02-03 04:38:58 +01:00
2025-04-21 17:59:41 +02:00
2025-03-31 11:44:50 +02:00
2024-11-07 10:36:53 +01:00
2025-03-20 11:25:19 +01:00
2025-04-21 17:59:41 +02:00
2025-05-29 21:21:18 +02:00
2025-05-20 17:32:49 +02:00
2025-03-05 16:35:09 +01:00
2025-01-28 15:27:34 +01:00
2025-03-05 16:35:09 +01:00
2025-03-05 16:35:09 +01:00
2025-03-05 16:35:09 +01:00
2025-06-02 17:13:56 -04:00
2025-06-02 17:13:56 -04:00
2025-06-04 12:24:33 +02:00
2025-02-21 07:41:34 +01:00
2025-03-05 16:35:09 +01:00
2025-06-02 17:13:56 -04:00
2025-04-25 19:27:30 +02:00
2025-05-13 10:48:37 +10:00
2025-05-05 18:41:03 +02:00
2025-03-20 11:25:19 +01:00
2025-05-23 06:07:04 +02:00
2025-05-19 13:34:59 -04:00
2025-05-07 04:53:16 +02:00
2025-05-12 13:46:40 +02:00
2025-03-20 11:25:19 +01:00
2025-05-09 16:13:25 +02:00
2025-01-28 15:27:34 +01:00
2025-05-20 17:32:49 +02:00
2025-05-16 14:21:06 +02:00
2025-05-09 16:13:25 +02:00
2025-05-20 17:32:49 +02:00