diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-02-11 17:18:55 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-02-11 17:19:04 +0300 |
commit | 804e90b42d728ecb1073af8d0bae15a91b13a469 (patch) | |
tree | 309de25d99c92286b10c9d27e547fd43a69299c1 /source/blender/makesrna | |
parent | 58cdab8b9759dd59b55895f2f76b9624addbb324 (diff) |
DRW: Color Management improvement
Reviewed By: brecht sergey jbakker
Differential Revision: http://developer.blender.org/D6729
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r-- | source/blender/makesrna/intern/rna_render.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index 90c60c09181..c0daedba95c 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -101,6 +101,7 @@ const EnumPropertyItem rna_enum_bake_pass_type_items[] = { # include "IMB_colormanagement.h" # include "GPU_extensions.h" +# include "GPU_shader.h" # include "DEG_depsgraph_query.h" @@ -126,15 +127,21 @@ static int engine_get_preview_pixel_size(RenderEngine *UNUSED(engine), Scene *sc return BKE_render_preview_pixel_size(&scene->r); } -static void engine_bind_display_space_shader(RenderEngine *UNUSED(engine), Scene *scene) +static void engine_bind_display_space_shader(RenderEngine *UNUSED(engine), Scene *UNUSED(scene)) { - IMB_colormanagement_setup_glsl_draw( - &scene->view_settings, &scene->display_settings, scene->r.dither_intensity, false); + GPUShader *shader = GPU_shader_get_builtin_shader(GPU_SHADER_2D_IMAGE_COLOR); + GPU_shader_bind(shader); + + int img_loc = GPU_shader_get_uniform_ensure(shader, "image"); + int color_loc = GPU_shader_get_uniform_ensure(shader, "color"); + + GPU_shader_uniform_int(shader, img_loc, 0); + GPU_shader_uniform_vector(shader, color_loc, 3, 1, (float[3]){1.0f, 1.0f, 1.0f}); } static void engine_unbind_display_space_shader(RenderEngine *UNUSED(engine)) { - IMB_colormanagement_finish_glsl_draw(); + GPU_shader_unbind(); } static void engine_update(RenderEngine *engine, Main *bmain, Depsgraph *depsgraph) |