[Bf-blender-cvs] [5b26c11] alembic: Use correct blending weights for hair shapekey references.

Lukas Tönne noreply at git.blender.org
Thu May 21 16:21:26 CEST 2015


Commit: 5b26c112d9edce9047ba7cad5f78fdf5532bd89b
Author: Lukas Tönne
Date:   Thu May 21 16:15:29 2015 +0200
Branches: alembic
https://developer.blender.org/rB5b26c112d9edce9047ba7cad5f78fdf5532bd89b

Use correct blending weights for hair shapekey references.

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

M	source/blender/blenkernel/intern/key.c

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

diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c
index 08d41a4..c5f4da3 100644
--- a/source/blender/blenkernel/intern/key.c
+++ b/source/blender/blenkernel/intern/key.c
@@ -978,9 +978,12 @@ void BKE_key_evaluate_strands_relative(const int start, int end, const int tot,
 				from += key->elemsize * start;
 				
 				for (b = start; b < end; b++) {
+					float delta[3];
+					
 					weight = weights ? (*weights * icuval) : icuval;
 					
-					madd_v3_v3fl((float *)poin, (float *)from, weight);
+					sub_v3_v3v3(delta, (float *)from, (float *)poin);
+					madd_v3_v3fl((float *)poin, delta, weight);
 					
 					poin += ofs;
 					from += elemsize;
@@ -1344,6 +1347,7 @@ static void do_key_strands(const int start, int end, const int tot, char *poin,
 
 	for (a = start; a < end; a++) {
 		
+		zero_v3((float *)poin);
 		madd_v3_v3fl((float *)poin, (float *)k1, t[0]);
 		madd_v3_v3fl((float *)poin, (float *)k2, t[1]);
 		madd_v3_v3fl((float *)poin, (float *)k3, t[2]);




More information about the Bf-blender-cvs mailing list