GPencil: Fix colormanagement broken by recent refactor

This is a quick fix that should work until the GPencil refactor lands.
This commit is contained in:
Clément Foucault 2020-02-12 18:21:53 +01:00
parent c10e05ceb8
commit 00e012d564
4 changed files with 11 additions and 6 deletions

View File

@ -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: {

View File

@ -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) {

View File

@ -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));
}

View File

@ -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));
}
}
}