diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2014-07-09 14:17:05 +0400 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2014-07-09 14:25:54 +0400 |
commit | c9ac51ec1ffd77efcff758bc42a37fd02859a4bc (patch) | |
tree | 6538125006d72e391d9f3f59bd0611f9dcbe348a /source/blender/render/intern | |
parent | 6c70559f581a6e4c9047958e247e0b876a045bf8 (diff) |
Fix T40164: Linking a Group of linked Groups don't take Dupli Visibility
correctly.
Problem was that object layers are defined by duplis as the top-level
duplicator layers. This happens //during// the duplilist construction,
which breaks group layer checks for subsequent instances and hides them.
Now the duplilist generators leave Object DNA untouched, the
modification of layers for drawing, rendering, etc. happens afterward
in the duplilist_apply/restore functions, as a kind of second pass.
Diffstat (limited to 'source/blender/render/intern')
-rw-r--r-- | source/blender/render/intern/source/convertblender.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index 3e72ef06a67..36fd1b2d6af 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -4989,7 +4989,7 @@ static void database_init_objects(Render *re, unsigned int renderlay, int nolamp * system need to have render settings set for dupli particles */ dupli_render_particle_set(re, ob, timeoffset, 0, 1); duplilist = object_duplilist(re->eval_ctx, re->scene, ob); - duplilist_apply_data = duplilist_apply_matrix(duplilist); + duplilist_apply_data = duplilist_apply(ob, duplilist); dupli_render_particle_set(re, ob, timeoffset, 0, 0); for (dob= duplilist->first, i = 0; dob; dob= dob->next, ++i) { @@ -5084,7 +5084,7 @@ static void database_init_objects(Render *re, unsigned int renderlay, int nolamp } if (duplilist_apply_data) { - duplilist_restore_matrix(duplilist, duplilist_apply_data); + duplilist_restore(duplilist, duplilist_apply_data); duplilist_free_apply_data(duplilist_apply_data); } free_object_duplilist(duplilist); |