diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2022-10-24 13:55:24 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2022-10-24 13:55:41 +0300 |
commit | a8731718a1c476ed0d7a95c2c25cb9da7e90e6be (patch) | |
tree | 7be0d63009a46c53c4721464657fabdd03c9ee56 /source/blender/draw/engines/gpencil/gpencil_engine.c | |
parent | 9fc000cc6f55784166be571c06a5f67faba9b47f (diff) |
GPencil: Fix regressions introduced in rB0ee9282b5c51
Batching was broken / disabled and starting indices were wrong.
Diffstat (limited to 'source/blender/draw/engines/gpencil/gpencil_engine.c')
-rw-r--r-- | source/blender/draw/engines/gpencil/gpencil_engine.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c index 956830e6b4c..14a3c5a8e7e 100644 --- a/source/blender/draw/engines/gpencil/gpencil_engine.c +++ b/source/blender/draw/engines/gpencil/gpencil_engine.c @@ -346,7 +346,7 @@ typedef struct gpIterPopulateData { int vfirst, vcount; } gpIterPopulateData; -#define DISABLE_BATCHING 1 +#define DISABLE_BATCHING 0 static void gpencil_drawcall_flush(gpIterPopulateData *iter) { @@ -382,7 +382,7 @@ static void gpencil_drawcall_add( int last = iter->vfirst + iter->vcount; /* Interrupt draw-call grouping if the sequence is not consecutive. */ - if ((geom != iter->geom) || (v_first - last > 3)) { + if ((geom != iter->geom) || (v_first - last > 0)) { gpencil_drawcall_flush(iter); } iter->geom = geom; @@ -540,8 +540,8 @@ static void gpencil_stroke_cache_populate(bGPDlayer *gpl, if (show_stroke) { int vfirst = gps->runtime.stroke_start * 3; - /* Include "potential" cyclic vertex (see shader). */ - int vcount = (gps->totpoints + 1) * 2 * 3; + bool is_cyclic = ((gps->flag & GP_STROKE_CYCLIC) != 0) && (gps->totpoints > 2); + int vcount = (gps->totpoints + (int)is_cyclic) * 2 * 3; gpencil_drawcall_add(iter, geom, false, vfirst, vcount); } |