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 17:21:38 +0300
committerGermano <germano.costa@ig.com.br>2017-12-14 17:21:38 +0300
commit5b5de35604569bfe5007a7ed427c702775c7871c (patch)
tree10bf8f2d8728239b84a97dd343aed96590d9feab /source/blender/draw/intern/draw_cache_impl_metaball.c
parentbb9d068ccc2b86d4f3fc06fceca90f26e34cdf7e (diff)
Support for Batchs split by material for objects of type Curve, Surface, and Text
**ToDo:** - add vertbuff for UV (what can be adapted from `dl_surf_to_renderdata`)
Diffstat (limited to 'source/blender/draw/intern/draw_cache_impl_metaball.c')
-rw-r--r--source/blender/draw/intern/draw_cache_impl_metaball.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/blender/draw/intern/draw_cache_impl_metaball.c b/source/blender/draw/intern/draw_cache_impl_metaball.c
index e2dba8e626e..762564cc2a5 100644
--- a/source/blender/draw/intern/draw_cache_impl_metaball.c
+++ b/source/blender/draw/intern/draw_cache_impl_metaball.c
@@ -132,7 +132,15 @@ Gwn_Batch *DRW_metaball_batch_cache_get_triangles_with_normals(Object *ob)
MetaBallBatchCache *cache = metaball_batch_cache_get(mb);
if (cache->batch == NULL) {
- cache->batch = BLI_displist_batch_calc_surface(&ob->curve_cache->disp);
+ ListBase *lb = &ob->curve_cache->disp;
+ Gwn_VertBuf *verts = DRW_displist_vertbuf_calc_pos_with_normals(lb);
+ if (verts) {
+ cache->batch = GWN_batch_create_ex(
+ GWN_PRIM_TRIS,
+ verts,
+ DRW_displist_indexbuf_calc_triangles_in_order(lb),
+ GWN_BATCH_OWNS_VBO | GWN_BATCH_OWNS_INDEX);
+ }
}
return cache->batch;