Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2020-02-12 20:21:53 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-02-12 20:21:53 +0300
commit00e012d5644f1d9d4ebb6e20b1065bd1709a9cbd (patch)
tree9d41dc988bd0749e6fd773b79a3be610c8853f20 /source/blender/draw
parentc10e05ceb89ebb52707d519e091ebab9ca62e40b (diff)
GPencil: Fix colormanagement broken by recent refactor
This is a quick fix that should work until the GPencil refactor lands.
Diffstat (limited to 'source/blender/draw')
-rw-r--r--source/blender/draw/engines/gpencil/gpencil_draw_utils.c8
-rw-r--r--source/blender/draw/engines/gpencil/gpencil_engine.c4
-rw-r--r--source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_vert.glsl3
-rw-r--r--source/blender/draw/engines/gpencil/shaders/gpencil_zdepth_mix_frag.glsl2
4 files changed, 11 insertions, 6 deletions
diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
index f270fde0533..d44aa5764b1 100644
--- a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
+++ b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
@@ -343,12 +343,12 @@ static void set_wireframe_color(Object *ob,
color[1] = world->horg;
color[2] = world->horb;
color[3] = 1.0f;
- linearrgb_to_srgb_v4(stl->shgroups[id].wire_color, color);
+ copy_v4_v4(stl->shgroups[id].wire_color, color);
}
else {
copy_v3_v3(color, v3d->shading.background_color);
color[3] = 1.0f;
- linearrgb_to_srgb_v4(stl->shgroups[id].wire_color, color);
+ copy_v4_v4(stl->shgroups[id].wire_color, color);
}
return;
}
@@ -363,13 +363,13 @@ static void set_wireframe_color(Object *ob,
copy_v3_v3(color, v3d->shading.single_color);
}
color[3] = 1.0f;
- linearrgb_to_srgb_v4(stl->shgroups[id].wire_color, color);
+ copy_v4_v4(stl->shgroups[id].wire_color, color);
break;
}
case V3D_SHADING_OBJECT_COLOR: {
copy_v4_v4(color, ob->color);
color[3] = 1.0f;
- linearrgb_to_srgb_v4(stl->shgroups[id].wire_color, color);
+ copy_v4_v4(stl->shgroups[id].wire_color, color);
break;
}
case V3D_SHADING_RANDOM_COLOR: {
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c
index ce79164a80b..d049abbade5 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.c
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.c
@@ -1061,7 +1061,7 @@ void GPENCIL_draw_scene(void *ved)
GPU_framebuffer_clear_color_depth_stencil(fbl->temp_fb_b, clearcol, 1.0f, 0x0);
stl->storage->blend_mode = array_elm->mode;
stl->storage->mask_layer = (int)array_elm->mask_layer;
- stl->storage->tonemapping = DRW_state_do_color_management() ? 0 : 1;
+ stl->storage->tonemapping = 1;
DRW_draw_pass(psl->blend_pass);
stl->storage->tonemapping = 0;
@@ -1103,7 +1103,7 @@ void GPENCIL_draw_scene(void *ved)
GPU_framebuffer_bind(fbl->main);
}
/* tonemapping */
- stl->storage->tonemapping = DRW_state_do_color_management() ? 0 : 1;
+ stl->storage->tonemapping = 1;
/* active select flag and selection color */
if (!is_render) {
diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_vert.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_vert.glsl
index f75322f90e2..57908f3251b 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_vert.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_vert.glsl
@@ -13,4 +13,7 @@ void main()
gl_Position = point_world_to_ndc((gpModelMatrix * vec4(pos, 1.0)).xyz);
finalColor = color;
finalThickness = size;
+
+ /* Dirty fix waiting for new GPencil engine. */
+ finalColor.rgb = pow(finalColor.rgb, vec3(2.2));
}
diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_zdepth_mix_frag.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_zdepth_mix_frag.glsl
index be645548402..926b11e4083 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_zdepth_mix_frag.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_zdepth_mix_frag.glsl
@@ -68,6 +68,8 @@ void main()
if (check_borders(uv, 2)) {
FragColor = select_color;
gl_FragDepth = 0.000001;
+ /* Dirty fix waiting for new GPencil engine. */
+ FragColor.rgb = pow(FragColor.rgb, vec3(2.2));
}
}
}