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-04-21 15:02:47 +10:00
2023-04-20 11:58:29 +10:00
2022-02-11 09:14:36 +11:00
2022-10-03 17:38:16 -05:00
2023-02-06 21:25:45 +01:00
2022-02-11 09:14:36 +11:00
2022-02-11 09:14:36 +11:00
2022-08-17 12:51:07 +10:00
2022-02-11 09:14:36 +11:00
2023-04-13 12:49:16 -04:00
2023-03-30 10:51:59 +02:00
2023-03-29 16:50:54 +02:00
2022-02-11 09:14:36 +11:00
2022-09-27 07:05:13 +10:00
2023-03-30 10:51:59 +02:00
2022-12-05 12:54:02 +11:00
2023-02-20 11:51:16 +01:00
2023-03-29 16:50:54 +02:00
2023-03-29 16:50:54 +02:00
2022-02-11 09:14:36 +11:00
2022-07-15 10:21:27 +03:00
2022-12-29 12:01:32 -05:00
2022-11-15 13:48:00 -06:00
2022-11-15 13:48:00 -06:00
2023-03-30 12:23:49 +13:00
2022-02-11 09:14:36 +11:00
2022-11-08 15:50:49 +01:00
2022-11-04 19:18:54 +11:00
2023-01-17 13:43:38 +01:00
2023-03-30 10:51:59 +02:00
2022-02-11 09:14:36 +11:00
2023-03-28 15:57:48 +11:00
2022-09-17 15:08:40 +10:00
2023-03-30 10:51:59 +02:00
2022-09-28 09:41:31 +10:00
2022-11-12 18:33:31 +01:00
2022-11-12 18:33:31 +01:00
2022-11-12 18:33:31 +01:00
2022-11-12 18:33:31 +01:00
2023-01-06 20:09:51 +01:00
2023-01-09 17:41:08 +11:00
2022-02-11 09:14:36 +11:00
2022-11-12 14:26:47 +01:00
2022-02-11 09:14:36 +11:00
2022-02-11 09:14:36 +11:00
2023-03-29 16:50:54 +02:00
2022-02-11 09:14:36 +11:00
2022-02-11 09:14:36 +11:00
2022-02-11 09:14:36 +11:00
2023-04-17 13:47:41 +02:00
2022-02-11 09:14:36 +11:00
2022-09-27 07:05:13 +10:00
2022-02-11 09:14:36 +11:00
2023-03-29 16:50:54 +02:00
2022-02-11 09:14:36 +11:00
2022-02-11 09:14:36 +11:00
2023-04-19 19:43:15 +02:00
2022-02-11 09:14:36 +11:00
2022-02-11 09:14:36 +11:00
2022-02-11 09:14:36 +11:00
2023-03-29 16:50:54 +02:00
2023-03-29 16:50:54 +02:00
2023-03-29 16:50:54 +02:00
2023-03-29 16:50:54 +02:00
2023-03-29 16:50:54 +02:00
2022-03-19 08:26:29 +01:00
2023-03-29 16:50:54 +02:00
2023-03-29 16:50:54 +02:00
2023-03-28 15:57:48 +11:00
2022-02-11 09:14:36 +11:00
2022-02-11 09:14:36 +11:00
2022-02-11 09:14:36 +11:00
2022-02-11 09:14:36 +11:00
2023-03-02 17:38:36 +01:00
2022-02-11 09:14:36 +11:00
2022-11-30 11:49:32 -06:00
2022-03-30 18:01:22 +11:00
2022-03-30 18:01:22 +11:00
2023-03-29 16:50:54 +02:00
2023-04-13 14:57:57 +02:00
2023-04-20 23:32:33 +02:00
2023-02-11 13:46:37 +01:00
2023-03-29 16:50:54 +02:00
2023-03-29 16:50:54 +02:00
2022-02-11 09:14:36 +11:00
2022-02-11 09:14:36 +11:00
2022-02-11 09:14:36 +11:00
2023-01-13 18:09:27 +01:00
2022-06-28 13:13:41 +02:00
2022-06-28 13:13:41 +02:00
2022-02-11 09:14:36 +11:00
2022-11-06 15:07:32 +01:00
2023-02-23 13:18:05 +01:00
2022-09-26 17:58:36 +10:00
2022-02-11 09:14:36 +11:00
2023-03-30 10:51:59 +02:00
2023-03-28 15:57:48 +11:00
2022-12-02 12:34:26 +01:00
2023-03-29 16:50:54 +02:00
2023-03-06 16:08:45 +01:00
2022-10-03 17:38:16 -05:00
2023-04-18 13:28:14 +02:00
2023-04-19 09:02:21 +10:00
2023-04-19 09:02:21 +10:00
2023-03-10 11:48:15 +01:00
2022-02-11 09:14:36 +11:00
2023-02-13 17:32:19 +01:00
2023-04-14 16:08:05 +02:00
2023-04-19 09:02:21 +10:00
2022-02-11 09:14:36 +11:00
2023-01-06 20:09:51 +01:00
2022-02-11 09:14:36 +11:00
2022-08-22 11:20:40 +10:00
2022-04-21 16:11:26 +02:00
2023-04-19 09:02:21 +10:00
2023-04-19 09:02:21 +10:00
2023-04-21 15:02:47 +10:00
2022-09-27 07:05:13 +10:00
2023-03-30 10:51:59 +02:00
2023-03-29 16:50:54 +02:00
2023-02-12 14:56:05 +11:00
2023-03-10 11:48:15 +01:00
2022-05-31 16:55:14 +02:00
2023-04-19 09:02:21 +10:00
2023-04-19 09:02:21 +10:00
2023-01-06 20:09:51 +01:00
2023-04-19 09:02:21 +10:00
2023-02-20 11:51:16 +01:00
2023-04-19 09:02:21 +10: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 21:15:52 +01:00
2023-03-29 16:50:54 +02:00
2023-04-19 09:02:21 +10:00
2023-03-09 18:15:22 +01:00
2022-02-11 09:14:36 +11:00
2022-02-11 09:14:36 +11:00
2023-03-30 10:51:59 +02:00
2022-03-11 15:29:11 +11:00
2022-02-11 09:14:36 +11:00
2023-03-29 16:50:54 +02:00
2023-03-30 10:51:59 +02:00
2022-02-11 09:14:36 +11:00
2023-03-29 16:50:54 +02:00
2023-03-30 10:51:59 +02:00
2022-12-09 12:00:37 +01:00
2022-02-11 09:14:36 +11:00
2023-01-06 20:09:51 +01:00
2023-04-04 22:12:17 +02:00
2022-11-12 18:33:31 +01:00
2023-04-20 12:32:25 +10:00
2022-03-30 18:01:22 +11:00
2022-03-30 18:01:22 +11:00
2022-09-07 13:04:44 +10:00
2023-03-29 16:50:54 +02:00
2022-02-11 09:14:36 +11:00
2022-03-30 18:01:22 +11:00
2023-01-06 20:09:51 +01:00
2022-02-11 09:14:36 +11:00
2022-02-11 09:14:36 +11:00
2022-09-25 17:39:45 +02:00
2023-02-09 11:33:48 +11:00
2023-03-29 16:50:54 +02:00
2022-02-11 09:14:36 +11:00
2022-10-03 17:38:16 -05:00
2023-04-18 13:28:14 +02:00
2023-03-22 08:50:27 -04:00
2022-02-11 09:14:36 +11:00
2023-03-26 16:59:13 +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
2022-03-22 01:30:19 +01:00
2023-03-29 16:50:54 +02:00
2022-02-11 09:14:36 +11:00
2023-03-29 16:50:54 +02:00
2023-03-09 10:39:49 +11:00
2023-03-30 10:51:59 +02:00
2023-03-29 16:50:54 +02:00
2022-02-11 09:14:36 +11:00
2023-04-12 11:24:12 +10:00
2023-03-30 10:51:59 +02:00
2023-03-03 10:25:47 +11:00
2022-02-11 09:14:36 +11:00
2022-02-11 09:14:36 +11:00
2023-03-29 14:37:34 +11:00
2023-01-22 00:03:25 +01:00
2023-03-24 14:52:43 +01:00
2023-03-30 10:51:59 +02:00
2023-03-30 10:51:59 +02:00
2022-03-25 12:04:16 +11:00
2023-03-30 10:51:59 +02:00
2022-06-07 21:22:55 +10:00
2022-03-30 18:01:22 +11:00
2022-02-11 09:14:36 +11:00
2023-03-28 15:57:48 +11:00
2022-02-11 09:14:36 +11:00
2022-02-11 09:14:36 +11:00
2023-03-27 12:08:14 +11:00
2023-01-31 15:49:04 +11:00
2022-10-03 17:38:16 -05:00
2023-04-18 13:28:14 +02:00
2023-04-18 13:28:14 +02:00
2023-03-29 16:50:54 +02:00
2022-02-11 09:14:36 +11:00
2023-03-30 10:51:59 +02:00
2022-02-11 09:14:36 +11:00
2023-04-18 20:39:30 +02:00
2023-04-14 17:58:13 +02:00
2023-04-14 13:29:19 +02:00
2022-02-11 09:14:36 +11:00