Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2018-09-14 13:19:41 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-09-14 13:20:01 +0300
commite37479ad895c0bfb12dd0456cc520e1b73b99878 (patch)
treea33fe5ada0f3a8e2619090e4a715a51ed9915a5a /source/blender/draw
parent1d76fbf3df69db6939145b5a1cac7a5d6a482375 (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.c12
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);
}
}