Commit: 461008a3e8b00f0a48d0cd1704906575a42f0f9a Author: YimingWu Date: Mon Jun 3 14:20:52 2019 +0800 Branches: soc-2019-npr https://developer.blender.org/rB461008a3e8b00f0a48d0cd1704906575a42f0f9a
Image and viewport now both support GPencil stroke overlay =================================================================== M source/blender/draw/engines/gpencil/gpencil_engine.c M source/blender/draw/engines/gpencil/gpencil_engine.h M source/blender/draw/engines/gpencil/gpencil_render.c =================================================================== diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c index a97a4a27833..6d48f40ee61 100644 --- a/source/blender/draw/engines/gpencil/gpencil_engine.c +++ b/source/blender/draw/engines/gpencil/gpencil_engine.c @@ -1035,13 +1035,20 @@ void GPENCIL_draw_scene(void *ved) stl->storage->do_select_outline = 0; } + stl->storage->no_depth_composition = gpd->no_depth; + /* draw mix pass */ if(gpd->no_depth){ - DRW_pass_state_remove(psl->mix_pass, DRW_STATE_WRITE_DEPTH|DRW_STATE_DEPTH_LESS); - //DRW_pass_state_remove(psl->mix_pass_noblend,DRW_STATE_WRITE_DEPTH|DRW_STATE_DEPTH_LESS); - } + DRW_pass_state_remove(psl->mix_pass,DRW_STATE_WRITE_DEPTH|DRW_STATE_DEPTH_LESS); + } + DRW_draw_pass(psl->mix_pass); + /* restore */ + if(gpd->no_depth){ + DRW_pass_state_add(psl->mix_pass,DRW_STATE_WRITE_DEPTH|DRW_STATE_DEPTH_LESS); + } + /* disable select flag */ stl->storage->do_select_outline = 0; diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.h b/source/blender/draw/engines/gpencil/gpencil_engine.h index a7e4c9d58d6..14a94e50323 100644 --- a/source/blender/draw/engines/gpencil/gpencil_engine.h +++ b/source/blender/draw/engines/gpencil/gpencil_engine.h @@ -172,6 +172,8 @@ typedef struct GPENCIL_Storage { short framebuffer_flag; /* flag what framebuffer need to create */ + int no_depth_composition; + int blend_mode; int clamp_layer; float blend_opacity; diff --git a/source/blender/draw/engines/gpencil/gpencil_render.c b/source/blender/draw/engines/gpencil/gpencil_render.c index 301c29af335..41c9ef0a177 100644 --- a/source/blender/draw/engines/gpencil/gpencil_render.c +++ b/source/blender/draw/engines/gpencil/gpencil_render.c @@ -345,8 +345,8 @@ void GPENCIL_render_to_image(void *vedata, /* check grease pencil render transparency */ if (gp_pixel_rgba[3] > 0.0f) { if (src_pixel_rgba[3] > 0.0f) { - /* check z-depth */ - if (gp_pixel_depth[0] > src_pixel_depth[0]) { + /* if depth enabled, then check z-depth */ + if (!stl->storage->no_depth_composition && gp_pixel_depth[0] > src_pixel_depth[0]) { /* copy source z-depth */ gp_pixel_depth[0] = src_pixel_depth[0]; /* blend object on top */ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs