From 94ec80d21cc437c56dde8b8ff04a852810656eb7 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 5 Sep 2018 15:56:50 +0200 Subject: CCG: Remove number of layers from key The issue there was that number of layers did not include normals, while element size counts bytes used by normals. This sounds very fragile and dangerous to work further. Also, one value can easily be delivered from another, so it is redundancy going on here. Possible difference now is that multires subdivision will copy normals to a higher levels. Shouldn't be big of a problem, since leaving old normals and updating coordinates is not correct either. --- source/blender/blenkernel/intern/multires.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/blender/blenkernel/intern/multires.c') diff --git a/source/blender/blenkernel/intern/multires.c b/source/blender/blenkernel/intern/multires.c index 636157b08dd..279c6eb0c82 100644 --- a/source/blender/blenkernel/intern/multires.c +++ b/source/blender/blenkernel/intern/multires.c @@ -578,7 +578,7 @@ static void multires_copy_dm_grid(CCGElem *gridA, CCGElem *gridB, CCGKey *keyA, for (x = 0; x < keyB->grid_size; x++, j++) memcpy(CCG_elem_offset_co(keyA, gridA, y * skip * keyA->grid_size + x * skip), CCG_elem_offset_co(keyB, gridB, j), - sizeof(float) * keyA->num_layers); + keyA->elem_size); } else { skip = (keyB->grid_size - 1) / (keyA->grid_size - 1); @@ -587,7 +587,7 @@ static void multires_copy_dm_grid(CCGElem *gridA, CCGElem *gridB, CCGKey *keyA, for (x = 0; x < keyA->grid_size; x++, j++) memcpy(CCG_elem_offset_co(keyA, gridA, j), CCG_elem_offset_co(keyB, gridB, y * skip * keyB->grid_size + x * skip), - sizeof(float) * keyA->num_layers); + keyA->elem_size); } } -- cgit v1.2.3