Brecht Van Lommel
6aa11a304c
Paint: Store brush and palette colors in scene linear colorspace
...
For historical reasons these were stored in sRGB space, which caused all
kinds of complexity.
* For image painting, it now properly uses the byte buffer colorspace
instead of assuming sRGB or display colorspace. This can be more expensive,
so there is a fast path for sRGB buffers (and for fixed brush colors).
* Lots of code was changed to remove conversion when painting float images
or vertex colors, and added when painting byte images.
* For non-color data, there is now no colorspace conversion between the brush
color and image pixels, and #143642 was basically reverted because of that.
Compatibility notes:
* Backwards compatibility is not perfect, as we can not determine if the
brush has non-color data in isolation. We always convert sRGB to linear,
and existing brushes configured with non-color data need to be manually
fixed.
* There is forward compatibility, the old sRGB value is still stored next
to the scene linear value.
Pull Request: https://projects.blender.org/blender/blender/pulls/144400
2025-08-26 17:10:16 +02:00
..
2025-08-21 09:04:13 +02:00
2024-12-03 16:15:25 +01:00
2025-08-07 15:54:58 +02:00
2025-05-22 11:11:48 +10:00
2025-07-09 02:10:05 +00:00
2025-05-17 08:36:33 +02:00
2025-08-21 14:10:25 +02:00
2025-08-13 10:14:08 -04:00
2024-03-18 15:04:12 +01:00
2025-06-12 17:10:39 +02:00
2025-05-09 17:27:07 +02:00
2024-01-03 13:38:14 +01:00
2025-08-26 17:10:16 +02:00
2025-06-04 18:16:30 +02:00
2025-08-26 17:10:16 +02:00
2024-03-18 15:04:12 +01:00
2025-05-23 00:41:39 +10:00
2024-07-29 15:03:57 +02:00
2025-05-23 00:41:39 +10:00
2024-03-18 15:04:12 +01:00
2025-06-04 15:47:43 +02:00
2025-08-21 15:25:06 +02:00
2025-05-20 13:26:43 +02:00
2025-06-19 16:39:20 +02:00
2025-05-22 14:51:39 +10:00
2025-08-25 06:40:53 +00:00
2025-08-25 06:40:53 +00:00
2025-01-15 15:54:43 +01:00
2025-07-01 16:30:00 +02:00
2025-07-17 02:24:09 +02:00
2025-01-31 17:03:16 +01:00
2024-01-03 13:38:14 +01:00
2025-08-20 16:23:26 +02:00
2025-05-23 00:41:39 +10:00
2025-05-23 00:41:39 +10:00
2025-07-28 14:15:07 +02:00
2025-07-22 09:48:10 +02:00
2025-05-23 00:41:39 +10:00
2025-06-12 10:37:47 +02:00
2025-07-17 16:19:03 +02:00
2024-03-18 15:04:12 +01:00
2025-07-09 02:55:53 +00:00
2024-04-03 15:34:40 +02:00
2025-07-18 10:37:46 +02:00
2025-06-12 10:37:47 +02:00
2025-06-23 18:25:24 +02:00
2025-02-07 21:23:48 +01:00
2025-07-22 09:48:10 +02:00
2025-05-05 18:41:03 +02:00
2025-05-23 14:03:20 +10:00
2024-03-18 15:04:12 +01:00
2025-05-23 00:41:39 +10:00
2025-06-13 16:00:53 +02:00
2025-07-23 20:59:16 +10:00
2025-05-22 16:32:44 +02:00
2025-05-22 16:32:44 +02:00
2024-05-31 22:55:05 +02:00
2025-07-22 09:48:10 +02:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2025-05-23 00:41:39 +10:00
2024-07-31 16:06:43 +02:00
2025-05-28 17:39:02 +02:00
2024-08-27 13:25:14 +02:00
2025-08-07 06:18:21 +10:00
2025-06-30 23:58:05 +02:00
2025-08-08 07:37:33 +10:00
2025-08-08 07:37:33 +10:00
2024-03-18 15:04:12 +01:00
2025-05-05 18:41:03 +02:00
2025-08-22 17:59:27 +02:00
2025-07-16 22:53:21 +02:00
2025-08-22 17:59:27 +02:00
2024-05-06 17:56:56 +02:00
2025-07-22 09:48:10 +02:00
2025-08-12 11:00:10 +02:00
2025-08-21 07:57:33 +02:00
2025-04-25 19:12:04 +02:00
2024-10-04 19:20:00 +02:00
2025-05-23 00:41:39 +10:00
2025-05-23 00:41:39 +10:00
2025-08-12 09:48:49 +10:00
2025-05-08 16:09:31 +02:00
2024-06-20 14:09:29 +02:00
2024-03-18 15:04:12 +01:00
2025-05-23 00:41:39 +10:00
2025-08-13 16:38:46 +02:00
2024-03-18 15:04:12 +01:00
2025-06-09 21:53:20 +02:00
2025-05-12 11:16:26 +02:00
2025-02-21 18:48:54 +01:00
2025-08-26 17:10:16 +02:00
2025-06-03 18:05:22 +02:00
2025-08-26 17:10:16 +02:00
2025-08-09 19:15:21 +02:00
2025-05-12 11:16:26 +02:00
2025-05-22 13:51:29 +10:00
2025-08-26 12:25:43 +02:00
2024-01-22 13:47:13 +01:00
2025-05-23 00:41:39 +10:00
2025-05-23 00:41:39 +10:00
2024-03-18 15:04:12 +01:00
2025-08-21 09:04:13 +02:00
2025-08-26 12:25:43 +02:00
2024-03-18 15:04:12 +01:00
2025-05-05 18:41:03 +02:00
2025-05-05 18:41:03 +02:00
2025-06-09 11:35:19 +02:00
2025-06-16 12:06:02 +02:00
2025-08-17 15:39:39 +02:00
2025-05-23 00:41:39 +10:00
2024-05-14 20:59:03 +10:00
2025-08-13 11:26:50 +02:00
2024-06-19 12:16:24 +02:00
2025-05-23 00:41:39 +10:00
2025-07-24 22:18:14 +10:00
2025-04-26 00:13:46 +02:00
2024-07-09 06:10:17 +02:00
2025-07-15 18:02:37 +10:00
2025-05-14 15:18:36 +02:00
2024-03-18 15:04:12 +01:00
2025-07-23 09:59:26 +10:00
2025-03-21 00:13:30 +00:00
2025-08-18 20:44:44 +02:00
2025-08-25 11:58:17 +02:00
2024-05-24 18:41:18 +02:00
2025-07-28 14:06:08 +02:00
2025-05-23 00:41:39 +10:00