[Bf-blender-cvs] [db7d370657e] master: Fix T78201: Paint color not matching the UI and color picker
Pablo Dobarro
noreply at git.blender.org
Tue Jun 30 19:14:20 CEST 2020
Commit: db7d370657efa39a3bd69f057c8f405c17c41ac5
Author: Pablo Dobarro
Date: Mon Jun 29 18:44:13 2020 +0200
Branches: master
https://developer.blender.org/rBdb7d370657efa39a3bd69f057c8f405c17c41ac5
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
===================================================================
M source/blender/editors/sculpt_paint/sculpt.c
M source/blender/editors/sculpt_paint/sculpt_paint_color.c
===================================================================
diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index 3098a0bfcb8..d414d6d8f0f 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -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);
diff --git a/source/blender/editors/sculpt_paint/sculpt_paint_color.c b/source/blender/editors/sculpt_paint/sculpt_paint_color.c
index 191d18cb543..9b38def6b7b 100644
--- a/source/blender/editors/sculpt_paint/sculpt_paint_color.c
+++ b/source/blender/editors/sculpt_paint/sculpt_paint_color.c
@@ -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)
{
More information about the Bf-blender-cvs
mailing list