diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-09-14 13:19:41 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-09-14 13:20:01 +0300 |
commit | e37479ad895c0bfb12dd0456cc520e1b73b99878 (patch) | |
tree | a33fe5ada0f3a8e2619090e4a715a51ed9915a5a /source/blender/draw | |
parent | 1d76fbf3df69db6939145b5a1cac7a5d6a482375 (diff) |
GPUBuffers: Rework support for pbvh grids + fast navigate
Flat shaded grids are now rendered as a long triangle strip with
degenerate triangles.
Smooth shaded grids are not changed.
Also add back fast navigate. The only difference with 2.79 is that fast
navigate + flat shading will show slitly "incorrect" smooth face. But that's too
much effort to fix for what it is.
Diffstat (limited to 'source/blender/draw')
-rw-r--r-- | source/blender/draw/intern/draw_manager_data.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c index 592bb2b8dec..d0cac271674 100644 --- a/source/blender/draw/intern/draw_manager_data.c +++ b/source/blender/draw/intern/draw_manager_data.c @@ -542,9 +542,19 @@ static void sculpt_draw_cb( Object *ob = user_data; PBVH *pbvh = ob->sculpt->pbvh; + const DRWContextState *drwctx = DRW_context_state_get(); + int fast_mode = 0; + + if (drwctx->evil_C != NULL) { + Paint *p = BKE_paint_get_active_from_context(drwctx->evil_C); + if (p && (p->flags & PAINT_FAST_NAVIGATE)) { + fast_mode = drwctx->rv3d->rflag & RV3D_NAVIGATING; + } + } + if (pbvh) { BKE_pbvh_draw_cb( - pbvh, NULL, NULL, false, false, + pbvh, NULL, NULL, fast_mode, false, (void (*)(void *, GPUBatch *))draw_fn, shgroup); } } |