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:
authorGermano <germano.costa@ig.com.br>2017-12-14 19:44:20 +0300
committerGermano <germano.costa@ig.com.br>2017-12-14 19:44:20 +0300
commit06def089d3b3de1a0a49a0014b75cb7aa8a19fc7 (patch)
treeb07aded638890f3b89da18a6e11e22175f550362 /source/blender/draw/intern/draw_cache_impl_curve.c
parent6b794565aa0658bafff40491cad05c01d1d65000 (diff)
Draw Manager: Recalculate batch of Curves, Surfaces and Texts when a property is changed
Diffstat (limited to 'source/blender/draw/intern/draw_cache_impl_curve.c')
-rw-r--r--source/blender/draw/intern/draw_cache_impl_curve.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/source/blender/draw/intern/draw_cache_impl_curve.c b/source/blender/draw/intern/draw_cache_impl_curve.c
index 42533cc2802..5a2ee2b0695 100644
--- a/source/blender/draw/intern/draw_cache_impl_curve.c
+++ b/source/blender/draw/intern/draw_cache_impl_curve.c
@@ -344,6 +344,10 @@ static bool curve_batch_cache_valid(Curve *cu)
return false;
}
+ if (cache->is_dirty) {
+ return false;
+ }
+
if (cache->is_editmode != ((cu->editnurb != NULL) || (cu->editfont != NULL))) {
return false;
}
@@ -362,16 +366,6 @@ static bool curve_batch_cache_valid(Curve *cu)
}
}
- if (cache->is_dirty == false) {
- return true;
- }
- else {
- /* TODO: check number of vertices/edges? */
- if (cache->is_editmode) {
- return false;
- }
- }
-
return true;
}
@@ -1050,7 +1044,7 @@ Gwn_Batch **DRW_curve_batch_cache_get_surface_shaded(
for (int i = 0; i < gpumat_array_len; ++i) {
cache->surface.shaded_triangles[i] = GWN_batch_create_ex(
- GWN_PRIM_TRIS, cache->surface.verts, el[i], GWN_BATCH_OWNS_INDEX);
+ GWN_PRIM_TRIS, cache->surface.verts, el[i], el[i] ? GWN_BATCH_OWNS_INDEX : 0);
/* TODO: Add vertbuff for UV */
}