Campbell Barton
19dbe049db
Fix #106469 : unstable tessellation with quad-flipping detection
...
The result of detecting if a quad should flip the default 0-2 split
when tessellated only used a pre-calculated normal when available,
since the method of detecting the flip was different, the check for a
concave face could change depending on the existence of polygon-normals.
In practice this meant cycles render preview could use a different
tessellation than the GPU display.
While [0] exposed the bug, it's an inherent problem with having 2
methods of detecting concave quads.
Remove is_quad_flip_v3_first_third_fast_with_normal(..) and always
use is_quad_flip_v3_first_third_fast(..), because having to calculate
the normal inline has significant overhead.
Note that "bow-tie" quads may now render with a subdivision in a
different direction although they must be very distorted with both
triangles along the 0-2 split pointing away from each other.
Thanks to @HooglyBoogly for investigating the issue.
[0]: 16fbadde36 .
2023-04-21 15:02:47 +10:00
..
2023-03-30 10:51:59 +02:00
2023-03-10 11:33:11 +01:00
2023-02-12 14:56:05 +11:00
2023-03-20 15:30:14 +01:00
2023-02-03 12:41:01 +11:00
2023-01-09 14:52:06 +01:00
2023-04-06 08:29:57 +10:00
2023-03-13 10:42:51 +01:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2022-11-02 15:42:23 +01:00
2023-03-30 10:51:59 +02:00
2023-03-30 12:25:42 +02:00
2023-03-07 18:22:43 +01:00
2023-04-19 11:21:06 +02:00
2023-04-19 11:21:06 +02:00
2022-12-02 14:44:54 -06:00
2023-03-30 10:51:59 +02:00
2022-09-14 21:30:56 +02:00
2023-01-23 00:33:55 +01:00
2022-10-07 22:55:03 +11:00
2023-04-11 15:20:52 +02:00
2023-04-14 16:59:47 +02:00
2023-03-17 16:45:42 +11:00
2023-02-20 12:32:12 +01:00
2022-12-26 16:31:25 +09:00
2023-04-20 07:55:24 +02:00
2023-04-19 11:21:06 +02:00
2023-04-20 11:47:22 +10:00
2023-03-09 13:48:14 +01:00
2023-02-17 09:36:16 +01:00
2023-03-29 14:17:32 +11:00
2023-04-04 20:39:28 +02:00
2022-10-02 11:17:40 -05:00
2023-04-17 13:47:41 +02:00
2023-04-19 15:52:56 -04:00
2023-03-21 18:38:04 +01:00
2023-04-17 13:47:41 +02:00
2023-02-12 14:56:05 +11:00
2023-03-30 10:51:59 +02:00
2023-03-31 14:24:23 -04:00
2023-02-27 15:52:29 -05:00
2023-03-16 15:58:34 +01:00
2023-01-05 14:05:30 +01:00
2023-04-19 15:52:56 -04:00
2022-10-03 17:38:16 -05:00
2023-03-30 10:51:59 +02:00
2023-02-08 20:29:52 -05:00
2023-03-29 14:37:34 +11:00
2022-11-01 10:48:18 +01:00
2023-04-12 14:51:24 -04:00
2022-12-08 23:41:38 +01:00
2023-04-19 15:52:56 -04:00
2023-03-29 14:37:34 +11:00
2023-03-30 10:51:59 +02:00
2023-04-17 06:32:30 +02:00
2023-04-13 14:57:57 +02:00
2023-04-19 15:52:56 -04:00
2023-04-20 17:31:29 -04:00
2023-04-20 23:32:33 +02:00
2023-03-30 10:51:59 +02:00
2023-04-17 13:47:41 +02:00
2023-04-17 13:47:41 +02:00
2023-04-20 20:18:02 +02:00
2023-03-19 00:26:28 +01:00
2023-04-19 15:52:56 -04:00
2023-03-30 10:51:59 +02:00
2022-11-15 13:48:00 -06:00
2023-03-14 15:30:26 +01:00
2023-04-10 13:47:36 -04:00
2023-03-20 15:55:13 +01:00
2023-03-06 16:01:47 +01:00
2023-03-17 16:45:42 +11:00
2023-03-14 14:36:05 +01:00
2023-04-19 15:52:56 -04:00
2023-02-10 11:27:30 +11:00
2023-03-30 10:51:59 +02:00
2023-04-19 15:52:56 -04:00
2023-01-31 18:45:55 +01:00
2023-04-19 11:21:06 +02:00
2023-04-19 15:52:56 -04:00
2023-04-19 15:52:56 -04:00
2023-04-19 15:52:56 -04:00
2023-04-19 11:21:06 +02:00
2023-03-12 22:29:15 +01:00
2023-03-29 16:50:54 +02:00
2023-03-17 16:45:42 +11:00
2023-04-19 11:21:06 +02:00
2023-04-16 16:24:38 +10:00
2023-04-14 13:35:08 +02:00
2023-03-13 10:42:51 +01:00
2023-02-09 11:33:48 +11:00
2023-03-30 10:51:59 +02:00
2023-01-20 17:36:47 -06:00
2023-03-29 16:50:54 +02:00
2023-01-13 12:31:27 -06:00
2023-03-30 18:51:33 -04:00
2023-03-30 10:51:59 +02:00
2023-04-12 05:22:26 +02:00
2022-09-26 11:33:22 +10:00
2023-04-04 15:16:07 +02:00
2023-01-22 02:03:44 +01:00
2022-11-14 17:14:11 +01:00
2023-03-29 14:37:34 +11:00
2023-01-05 14:05:30 +01:00
2023-03-03 10:09:20 +11:00
2023-03-30 10:51:59 +02:00
2023-04-17 13:47:41 +02:00
2022-11-11 13:49:12 -07:00
2022-11-01 10:48:18 +01:00
2023-03-29 16:50:54 +02:00
2023-04-06 08:29:57 +10:00
2023-01-10 01:01:43 -05:00
2023-04-17 12:59:03 +02:00
2022-11-17 11:55:38 +01:00
2023-02-06 19:29:21 +01:00
2023-04-19 08:02:41 +10:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-04-18 11:09:36 +02:00
2023-04-14 13:29:19 +02:00
2023-03-12 22:29:15 +01:00
2023-04-17 15:46:21 +02:00
2023-02-09 11:33:48 +11:00
2023-04-14 19:20:58 +02:00
2023-04-17 17:12:19 +02:00
2023-04-14 19:20:58 +02:00
2023-02-03 12:41:01 +11:00
2023-02-06 19:29:21 +01:00
2023-03-28 15:57:48 +11:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-04-12 11:24:10 +10:00
2023-04-14 19:20:58 +02:00
2023-04-19 22:45:48 -04:00
2023-03-19 00:26:28 +01:00
2023-04-19 15:52:56 -04:00
2023-04-19 22:45:48 -04:00
2023-04-19 15:52:56 -04:00
2023-03-12 22:29:15 +01:00
2023-04-19 11:21:06 +02:00
2023-04-17 13:47:41 +02:00
2023-04-17 13:47:41 +02:00
2023-04-19 22:26:31 +02:00
2023-04-17 13:47:41 +02:00
2023-04-04 20:39:28 +02:00
2023-04-19 15:52:56 -04:00
2023-04-19 09:02:21 +10:00
2023-04-17 13:47:41 +02:00
2023-04-19 15:52:56 -04:00
2023-04-17 13:47:41 +02:00
2023-03-20 15:55:13 +01:00
2023-04-19 11:21:06 +02:00
2023-04-21 15:02:47 +10:00
2023-04-17 13:47:41 +02:00
2023-04-17 13:47:41 +02:00
2023-04-19 22:45:48 -04:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-04-04 20:39:28 +02:00
2023-03-30 10:51:59 +02:00
2023-04-04 20:39:28 +02:00
2023-04-04 20:39:28 +02:00
2023-04-04 20:39:28 +02:00
2023-04-04 20:39:28 +02:00
2023-03-30 10:51:59 +02:00
2023-04-17 13:47:41 +02:00
2023-03-30 10:51:59 +02:00
2023-04-04 17:01:19 -04:00
2023-04-04 17:01:19 -04:00
2023-03-30 10:51:59 +02:00
2023-04-19 15:52:56 -04:00
2023-03-30 10:51:59 +02:00
2023-04-14 13:51:38 +10:00
2023-01-09 23:29:58 -05:00
2023-03-08 17:38:15 +01:00
2023-02-20 10:49:55 +01:00
2023-03-29 16:50:54 +02:00
2023-04-18 00:29:10 +02:00
2023-03-13 10:42:51 +01:00
2023-04-19 11:21:06 +02:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-04-17 17:12:19 +02:00
2023-03-29 16:50:54 +02:00
2023-03-29 16:50:54 +02:00
2023-02-12 14:56:05 +11:00
2023-01-10 01:01:43 -05:00
2023-04-19 11:21:06 +02:00
2023-03-30 10:51:59 +02:00
2023-02-27 15:52:29 -05:00
2023-04-17 13:47:41 +02:00
2023-03-29 14:37:34 +11:00
2023-04-14 21:16:42 +02:00
2023-04-04 20:39:28 +02:00
2023-04-14 21:16:42 +02:00
2023-04-05 14:39:51 +10:00
2023-03-30 10:51:59 +02:00
2023-04-19 11:21:06 +02:00
2023-03-29 16:50:54 +02:00
2023-03-20 15:55:13 +01:00
2023-04-14 21:16:42 +02:00
2023-03-29 14:37:34 +11:00
2023-04-19 15:52:56 -04:00
2023-01-02 16:39:51 +01:00
2023-02-15 12:51:23 +01:00
2022-09-14 14:06:44 +10:00
2023-03-30 10:51:59 +02:00
2023-04-14 19:20:58 +02:00
2023-04-14 19:06:58 +02:00
2023-03-13 10:42:51 +01:00
2023-04-17 13:47:41 +02:00
2023-04-14 19:20:58 +02:00
2023-04-17 13:47:41 +02:00
2023-04-19 10:02:09 +02:00
2022-09-08 16:34:31 +02:00
2023-04-04 15:16:07 +02:00
2023-04-04 20:39:28 +02:00
2023-03-30 10:51:59 +02:00
2023-04-04 20:39:28 +02:00
2023-04-17 13:47:41 +02:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-04-12 11:24:10 +10:00
2023-03-30 10:51:59 +02:00
2023-04-04 20:39:28 +02:00
2023-04-17 13:47:41 +02:00
2023-03-30 10:51:59 +02:00
2023-04-19 15:52:56 -04:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-04-17 13:47:41 +02:00
2023-03-30 10:51:59 +02:00
2023-03-24 17:09:39 +11:00
2023-04-14 19:20:58 +02:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-01-06 20:09:51 +01:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2023-04-14 16:08:05 +02:00
2023-03-29 16:50:54 +02:00
2022-11-02 10:18:19 +11:00
2023-04-20 11:58:20 +10:00
2022-10-07 16:44:13 +11:00
2022-12-01 15:08:12 -06:00
2023-01-06 20:09:51 +01:00
2023-04-19 15:52:56 -04:00
2023-04-20 11:47:22 +10:00
2023-04-18 20:30:00 +10:00
2023-04-14 19:20:58 +02:00
2023-03-29 16:50:54 +02:00
2023-03-09 10:39:49 +11:00