Revision: 35875 http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35875 Author: blendix Date: 2011-03-29 13:37:16 +0000 (Tue, 29 Mar 2011) Log Message: ----------- Fix #26637: another problem with recent normals change, objects with negative scale did not get correct render normals.
Modified Paths: -------------- trunk/blender/source/blender/render/intern/source/convertblender.c Modified: trunk/blender/source/blender/render/intern/source/convertblender.c =================================================================== --- trunk/blender/source/blender/render/intern/source/convertblender.c 2011-03-29 13:00:59 UTC (rev 35874) +++ trunk/blender/source/blender/render/intern/source/convertblender.c 2011-03-29 13:37:16 UTC (rev 35875) @@ -3195,12 +3195,14 @@ int end, do_autosmooth=0, totvert = 0; int use_original_normals= 0; int recalc_normals = 0; // false by default + int negative_scale; me= ob->data; mul_m4_m4m4(mat, ob->obmat, re->viewmat); invert_m4_m4(ob->imat, mat); copy_m3_m4(imat, ob->imat); + negative_scale= is_negative_m4(mat); if(me->totvert==0) return; @@ -3282,13 +3284,13 @@ ver= RE_findOrAddVert(obr, obr->totvert++); VECCOPY(ver->co, mvert->co); if(do_autosmooth==0) { /* autosmooth on original unrotated data to prevent differences between frames */ - ver->n[0]=mvert->no[0]; - ver->n[1]=mvert->no[1]; - ver->n[2]=mvert->no[2]; + normal_short_to_float_v3(ver->n, mvert->no); mul_m4_v3(mat, ver->co); mul_transposed_m3_v3(imat, ver->n); normalize_v3(ver->n); - negate_v3(ver->n); + + if(!negative_scale) + negate_v3(ver->n); } if(orco) { _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs