Blender Git Commit Log
Git Commits -> Revision 81b6d30
Revision 81b6d30 by Campbell Barton (master) September 30, 2010, 10:51 (GMT) |
[#23673] Modifier construction gives correct result in viewport but incorrect in render. When there are 2+ consecutive deform modifiers, the second modifier was getting incorrect normals, this only showed up for the displace modifier since its the only deform modifier that uses vertex normals. It would have been easy to fix this by always calculating normals on deform modifiers, but slow. To fix this I added a function to check if a deform modifier needs normals, so the normal calculation function only runs if there are 2 modifiers in a row and the second uses normals. |
Commit Details:
Full Hash: 81b6d308a771405ef326b1e4cebbc3359e830a6c
SVN Revision: 32209
Parent Commit: cca8fce
Lines Changed: +71, -0
38 Modified Paths:
/source/blender/blenkernel/BKE_modifier.h (+11, -0) (Diff)
/source/blender/blenkernel/intern/DerivedMesh.c (+13, -0) (Diff)
/source/blender/modifiers/intern/MOD_armature.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_array.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_bevel.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_boolean.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_build.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_cast.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_cloth.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_collision.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_curve.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_decimate.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_displace.c (+7, -0) (Diff)
/source/blender/modifiers/intern/MOD_edgesplit.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_explode.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_fluidsim.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_hook.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_lattice.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_mask.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_meshdeform.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_mirror.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_multires.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_none.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_particleinstance.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_particlesystem.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_screw.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_shapekey.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_shrinkwrap.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_simpledeform.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_smoke.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_smooth.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_softbody.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_solidify.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_subsurf.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_surface.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_uvproject.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_wave.c (+1, -0) (Diff)
/source/blender/python/doc/sphinx_doc_gen.sh (+6, -0) (Diff)
/source/blender/blenkernel/intern/DerivedMesh.c (+13, -0) (Diff)
/source/blender/modifiers/intern/MOD_armature.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_array.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_bevel.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_boolean.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_build.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_cast.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_cloth.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_collision.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_curve.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_decimate.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_displace.c (+7, -0) (Diff)
/source/blender/modifiers/intern/MOD_edgesplit.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_explode.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_fluidsim.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_hook.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_lattice.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_mask.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_meshdeform.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_mirror.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_multires.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_none.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_particleinstance.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_particlesystem.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_screw.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_shapekey.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_shrinkwrap.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_simpledeform.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_smoke.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_smooth.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_softbody.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_solidify.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_subsurf.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_surface.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_uvproject.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_wave.c (+1, -0) (Diff)
/source/blender/python/doc/sphinx_doc_gen.sh (+6, -0) (Diff)