added dynamic normal morphing (normal accuracy untested)