Fix T78201: Paint color not matching the UI and color picker
The color picker and brush->rgb values are in srgb, but sculpt vertex colors works in linear, so they need to be converted. Reviewed By: sergey Maniphest Tasks: T78201 Differential Revision: https://developer.blender.org/D8111
This commit is contained in:
parent
7dbfc864e6
commit
db7d370657
Notes:
blender-bot
2023-02-13 23:16:02 +01:00
Referenced by issue #78201, sculpt vertex color painting wrong saturation and value
|
@ -74,6 +74,8 @@
|
|||
|
||||
#include "DEG_depsgraph.h"
|
||||
|
||||
#include "IMB_colormanagement.h"
|
||||
|
||||
#include "WM_api.h"
|
||||
#include "WM_message.h"
|
||||
#include "WM_toolsystem.h"
|
||||
|
@ -8134,7 +8136,10 @@ static int sculpt_sample_color_invoke(bContext *C,
|
|||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
|
||||
BKE_brush_color_set(scene, brush, active_vertex_color);
|
||||
float color_srgb[3];
|
||||
copy_v3_v3(color_srgb, active_vertex_color);
|
||||
IMB_colormanagement_scene_linear_to_srgb_v3(color_srgb);
|
||||
BKE_brush_color_set(scene, brush, color_srgb);
|
||||
BKE_brush_alpha_set(scene, brush, active_vertex_color[3]);
|
||||
|
||||
WM_event_add_notifier(C, NC_BRUSH | NA_EDITED, brush);
|
||||
|
|
|
@ -44,6 +44,8 @@
|
|||
|
||||
#include "DEG_depsgraph.h"
|
||||
|
||||
#include "IMB_colormanagement.h"
|
||||
|
||||
#include "WM_api.h"
|
||||
#include "WM_message.h"
|
||||
#include "WM_toolsystem.h"
|
||||
|
@ -132,6 +134,7 @@ static void do_paint_brush_task_cb_ex(void *__restrict userdata,
|
|||
|
||||
float brush_color[4] = {0.0f, 0.0f, 0.0f, 1.0f};
|
||||
copy_v3_v3(brush_color, BKE_brush_color_get(ss->scene, brush));
|
||||
IMB_colormanagement_srgb_to_scene_linear_v3(brush_color);
|
||||
|
||||
BKE_pbvh_vertex_iter_begin(ss->pbvh, data->nodes[n], vd, PBVH_ITER_UNIQUE)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue