From 7ac1c7c89956d5df7f99509917fd933002d2861d Mon Sep 17 00:00:00 2001 From: Lukas Steiblys Date: Sun, 11 Oct 2009 12:09:14 +0000 Subject: fixed the code that updates normals of quads when sculpting --- source/blender/editors/sculpt_paint/sculpt.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'source') diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c index c9353f697db..b88fe5a9d7a 100644 --- a/source/blender/editors/sculpt_paint/sculpt.c +++ b/source/blender/editors/sculpt_paint/sculpt.c @@ -1017,6 +1017,18 @@ static void update_damaged_vert(SculptSession *ss, ListBase *lb) VECCOPY(&buffer[(cur->element-cur->element%3)*3],norm); VECCOPY(&buffer[(cur->element-cur->element%3+1)*3],norm); VECCOPY(&buffer[(cur->element-cur->element%3+2)*3],norm); + + /* maybe this was a quad - need to update the other triangle of the quad */ + if( ss->drawobject->faceRemap[cur->element/3-1] == i ) { + VECCOPY(&buffer[(cur->element-cur->element%3-3)*3],norm); + VECCOPY(&buffer[(cur->element-cur->element%3-2)*3],norm); + VECCOPY(&buffer[(cur->element-cur->element%3-1)*3],norm); + } + if( ss->drawobject->faceRemap[cur->element/3+1] == i ) { + VECCOPY(&buffer[(cur->element-cur->element%3+3)*3],norm); + VECCOPY(&buffer[(cur->element-cur->element%3+4)*3],norm); + VECCOPY(&buffer[(cur->element-cur->element%3+5)*3],norm); + } } //VECCOPY(&buffer[cur->element*3],ss->mvert[vert->Index].no); -- cgit v1.2.3