From 7fb96ff00d4fe2764e4262b352e204e0d352be86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20T=C3=B6nne?= Date: Mon, 12 May 2014 08:55:47 +0200 Subject: Fix T40142: Objects restricted in render/view don't produce duplis in with correct transform for Blender Internal. According to previous code the obmat must be modified even if the duplicated object itself is filtered later. TBH i have no idea how/why this works, but nobody else does either ... All obmats are restored after BI messes with them during render, so should be fine ... --- source/blender/render/intern/source/convertblender.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/blender/render') diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index 18c9434929f..cb5f75efd16 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -5007,6 +5007,8 @@ static void database_init_objects(Render *re, unsigned int renderlay, int nolamp DupliExtraData *dob_extra = &duplilist_apply_data->extra[i]; Object *obd= dob->ob; + copy_m4_m4(obd->obmat, dob->mat); + /* group duplis need to set ob matrices correct, for deform. so no_draw is part handled */ if (!(obd->transflag & OB_RENDER_DUPLI) && dob->no_draw) continue; @@ -5020,8 +5022,6 @@ static void database_init_objects(Render *re, unsigned int renderlay, int nolamp if (!allow_render_object(re, obd, nolamps, onlyselected, actob)) continue; - copy_m4_m4(obd->obmat, dob->mat); - if (allow_render_dupli_instance(re, dob, obd)) { ParticleSystem *psys; ObjectRen *obr = NULL; -- cgit v1.2.3