[Bf-blender-cvs] [a765b896946] hair_guides_grooming: Enable shaded surface drawing for groom objects.

Lukas Tönne noreply at git.blender.org
Thu Jun 28 13:35:53 CEST 2018


Commit: a765b896946f4eed78332921213fc483ad435468
Author: Lukas Tönne
Date:   Thu Jun 28 12:35:35 2018 +0100
Branches: hair_guides_grooming
https://developer.blender.org/rBa765b896946f4eed78332921213fc483ad435468

Enable shaded surface drawing for groom objects.

===================================================================

M	source/blender/draw/engines/workbench/workbench_deferred.c
M	source/blender/draw/intern/draw_cache_impl_groom.c

===================================================================

diff --git a/source/blender/draw/engines/workbench/workbench_deferred.c b/source/blender/draw/engines/workbench/workbench_deferred.c
index 65953bc1b39..39c7d963bf2 100644
--- a/source/blender/draw/engines/workbench/workbench_deferred.c
+++ b/source/blender/draw/engines/workbench/workbench_deferred.c
@@ -715,7 +715,7 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob)
 	}
 
 	WORKBENCH_MaterialData *material;
-	if (ELEM(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_MBALL)) {
+	if (ELEM(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_MBALL, OB_GROOM)) {
 		const DRWContextState *draw_ctx = DRW_context_state_get();
 		const bool is_active = (ob == draw_ctx->obact);
 		const bool is_sculpt_mode = is_active && (draw_ctx->object_mode & OB_MODE_SCULPT) != 0;
diff --git a/source/blender/draw/intern/draw_cache_impl_groom.c b/source/blender/draw/intern/draw_cache_impl_groom.c
index 7a22cace3d7..95f3f4e7543 100644
--- a/source/blender/draw/intern/draw_cache_impl_groom.c
+++ b/source/blender/draw/intern/draw_cache_impl_groom.c
@@ -157,10 +157,7 @@ static void groom_batch_cache_clear(Groom *groom)
 	GWN_BATCH_DISCARD_SAFE(cache->all_edges);
 	GWN_BATCH_DISCARD_SAFE(cache->all_triangles);
 	GWN_BATCH_DISCARD_SAFE(cache->overlay_verts);
-	for (int i = 0; i < cache->mat_len; ++i)
-	{
-		GWN_BATCH_DISCARD_SAFE(cache->shaded_triangles[i]);
-	}
+	/* Note: shaded_triangles[0] is already freed by cache->all_triangles */
 	MEM_SAFE_FREE(cache->shaded_triangles);
 	cache->mat_len = 0;



More information about the Bf-blender-cvs mailing list