Aras Pranckevicius
68111db969
Nodes: Speedup Voronoi by changing the hash function
...
The 2D->2D, 3D->3D, 4D->4D hash functions used in Voronoi node were
using quite an expensive hash function. Switch these to dedicated
2D/3D/4D hash functions (pcg2d, pcg3d, pcg4d) -- these are still very
good quality, but the hash function itself is 3x-4x faster.
Which makes Voronoi node calculation overall be around 2x faster. In
some cases when using OSL, the speedup is even larger.
This visibly changes output of the Voronoi noise however. The actual
noise "behaves" the same, just if someone was depending on the noise
pattern being exactly like it was before, this will change the pattern.
Images, more performance results and details wrt OSL are in the PR.
Pull Request: https://projects.blender.org/blender/blender/pulls/139520
2025-06-12 20:07:52 +02:00
..
2025-06-12 20:07:52 +02:00
2025-05-05 15:10:22 +02:00
2025-06-12 06:26:05 +02:00
2024-12-24 11:55:29 +01:00
2025-06-04 16:53:07 +10:00
2025-05-05 15:10:22 +02:00
2024-11-03 22:04:44 +11:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2025-05-05 15:10:22 +02:00
2025-05-05 15:10:22 +02:00
2024-02-19 15:59:59 +01:00
2025-04-03 10:18:15 +02:00
2025-05-05 15:10:22 +02:00
2025-05-05 15:10:22 +02:00
2025-05-05 15:10:22 +02:00
2025-01-20 15:24:08 +01:00
2025-01-17 21:05:39 +01:00
2025-01-17 21:05:39 +01:00
2025-01-17 21:05:39 +01:00
2025-01-20 17:39:25 +01:00
2025-01-17 21:05:39 +01:00
2025-06-12 10:37:47 +02:00
2025-06-06 23:40:13 +02:00
2025-02-06 14:57:02 +01:00
2025-05-15 14:30:01 +02:00
2024-10-30 16:33:37 +11:00
2025-01-06 16:45:36 +11:00
2024-10-16 21:09:25 +11:00
2025-01-06 16:45:36 +11:00
2023-08-16 00:20:26 +10:00
2024-11-02 23:18:59 +11:00
2025-01-06 16:45:36 +11:00
2024-05-16 16:02:25 +10:00
2024-09-05 13:07:03 +10:00
2025-01-06 16:45:36 +11:00
2024-04-19 16:09:30 +10:00
2025-05-15 08:29:41 +02:00
2025-03-21 12:03:09 +01:00
2025-04-16 07:01:24 +02:00
2025-05-05 15:10:22 +02:00
2024-10-01 13:18:46 +10:00
2024-02-19 15:59:59 +01:00
2025-01-06 16:45:36 +11:00
2024-11-22 14:19:20 +01:00
2024-10-11 18:19:55 +02:00
2024-09-05 13:07:03 +10:00
2024-02-19 15:59:59 +01:00
2024-11-03 21:50:33 +11:00
2024-02-19 15:59:59 +01:00
2025-05-05 15:10:22 +02:00
2025-01-27 14:51:22 +01:00
2024-02-19 15:59:59 +01:00
2024-02-19 15:59:59 +01:00
2025-02-28 17:14:34 +01:00
2024-02-19 15:59:59 +01:00
2025-05-05 15:10:22 +02:00
2025-01-04 22:26:18 +11:00
2025-06-12 16:22:21 +02:00
2025-06-12 19:32:43 +02:00
2023-08-16 00:20:26 +10:00
2025-06-11 21:27:13 -07:00
2025-02-24 12:09:06 +01:00
2025-02-14 18:02:31 +01:00
2025-05-05 15:10:22 +02:00
2024-11-02 15:43:26 +11:00
2025-06-03 14:46:32 +02:00
2023-08-16 00:20:26 +10:00
2025-06-09 13:52:00 +02:00
2025-01-21 11:30:20 +01:00
2023-08-16 00:20:26 +10:00
2025-04-13 13:55:23 +02:00
2024-03-26 20:16:02 +01:00
2025-04-16 13:01:46 +02:00
2025-01-15 05:52:15 +01:00
2025-01-15 05:52:15 +01:00
2025-01-15 05:52:15 +01:00
2024-03-29 10:11:22 -04:00
2025-05-05 15:10:22 +02:00
2025-06-05 05:33:49 +00:00
2025-04-15 17:56:16 +02:00
2024-11-06 10:49:53 +11:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2024-02-19 15:59:59 +01:00
2023-08-16 00:20:26 +10:00
2025-02-14 07:36:00 +01:00
2024-12-10 14:52:34 +01:00
2025-04-15 17:56:16 +02:00
2025-01-30 18:44:23 +01:00
2025-04-15 17:56:16 +02:00