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 ...
This commit is contained in:
@@ -5007,6 +5007,8 @@ static void database_init_objects(Render *re, unsigned int renderlay, int nolamp
|
|||||||
DupliExtraData *dob_extra = &duplilist_apply_data->extra[i];
|
DupliExtraData *dob_extra = &duplilist_apply_data->extra[i];
|
||||||
Object *obd= dob->ob;
|
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 */
|
/* 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)
|
if (!(obd->transflag & OB_RENDER_DUPLI) && dob->no_draw)
|
||||||
continue;
|
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))
|
if (!allow_render_object(re, obd, nolamps, onlyselected, actob))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
copy_m4_m4(obd->obmat, dob->mat);
|
|
||||||
|
|
||||||
if (allow_render_dupli_instance(re, dob, obd)) {
|
if (allow_render_dupli_instance(re, dob, obd)) {
|
||||||
ParticleSystem *psys;
|
ParticleSystem *psys;
|
||||||
ObjectRen *obr = NULL;
|
ObjectRen *obr = NULL;
|
||||||
|
|||||||
Reference in New Issue
Block a user