[Bf-blender-cvs] [c5722f4c43c] temp-gpencil-drw-engine: GPencil: Clear Temp Framebuffer to avoid double drawing

Antonioya noreply at git.blender.org
Sat Jun 29 11:12:36 CEST 2019


Commit: c5722f4c43cb6e6db776d64fc6e21aec9ba0eb1e
Author: Antonioya
Date:   Sat Jun 29 11:12:27 2019 +0200
Branches: temp-gpencil-drw-engine
https://developer.blender.org/rBc5722f4c43cb6e6db776d64fc6e21aec9ba0eb1e

GPencil: Clear Temp Framebuffer to avoid  double drawing

If we don't clear by each object, the selection outline is visible in all objects and there is accumulation effect.

===================================================================

M	source/blender/draw/engines/gpencil/gpencil_engine.c

===================================================================

diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c
index 42932efa7cf..f7a42054c89 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.c
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.c
@@ -1019,10 +1019,10 @@ void GPENCIL_draw_scene(void *ved)
                                     (stl->storage->multisamples > 0));
       GPUFrameBuffer *final_fb = (do_antialiasing) ? fbl->multisample_fb : fbl->temp_a_fb;
 
-      GPU_framebuffer_bind(fbl->temp_a_fb);
-      GPU_framebuffer_clear_color_depth_stencil(fbl->temp_a_fb, clearcol, 1.0f, 0x0);
-
       for (int i = 0; i < stl->g_data->gp_cache_used; i++) {
+        GPU_framebuffer_bind(fbl->temp_a_fb);
+        GPU_framebuffer_clear_color_depth_stencil(fbl->temp_a_fb, clearcol, 1.0f, 0x0);
+
         cache_ob = &stl->g_data->gp_object_cache[i];
         Object *ob = cache_ob->ob;
         bGPdata *gpd = cache_ob->gpd;



More information about the Bf-blender-cvs mailing list