[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34284] trunk/blender/source/blender: bugfix [#24774] Lattice modifier+Dupligroup+Texture solid=weird result
Daniel Salazar - 3Developer.com
zanqdo at gmail.com
Thu Jan 13 09:45:16 CET 2011
This commit slows down dupligroups massively. Noted by Bassam too on IRC
cheers
Daniel Salazar
On Wed, Jan 12, 2011 at 10:53 AM, Campbell Barton <ideasman42 at gmail.com> wrote:
> Revision: 34284
> http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=34284
> Author: campbellbarton
> Date: 2011-01-12 16:53:27 +0000 (Wed, 12 Jan 2011)
> Log Message:
> -----------
> bugfix [#24774] Lattice modifier+Dupligroup+Texture solid=weird result
> new 2.5x code was not passing group recalc flags onto objects within them.
>
> Modified Paths:
> --------------
> trunk/blender/source/blender/blenkernel/intern/group.c
> trunk/blender/source/blender/makesdna/DNA_group_types.h
>
> Modified: trunk/blender/source/blender/blenkernel/intern/group.c
> ===================================================================
> --- trunk/blender/source/blender/blenkernel/intern/group.c 2011-01-12 15:45:00 UTC (rev 34283)
> +++ trunk/blender/source/blender/blenkernel/intern/group.c 2011-01-12 16:53:27 UTC (rev 34284)
> @@ -364,17 +364,22 @@
> scene->r.cfra= cfrao;
> }
> else
> -#endif
> +#else
> {
> - /* only do existing tags, as set by regular depsgraph */
> + /* use 2 loops to avoid updating objects multiple times */
> for(go= group->gobject.first; go; go= go->next) {
> - if(go->ob) {
> - if(go->ob->recalc) {
> - object_handle_update(scene, go->ob);
> - }
> + if(go->ob && go->recalc) {
> + go->ob->recalc |= go->recalc;
> }
> }
> +
> + for(go= group->gobject.first; go; go= go->next) {
> + if(go->ob && go->recalc) {
> + object_handle_update(scene, go->ob);
> + }
> + }
> }
> +#endif
> }
>
> Object *group_get_member_with_action(Group *group, bAction *act)
>
> Modified: trunk/blender/source/blender/makesdna/DNA_group_types.h
> ===================================================================
> --- trunk/blender/source/blender/makesdna/DNA_group_types.h 2011-01-12 15:45:00 UTC (rev 34283)
> +++ trunk/blender/source/blender/makesdna/DNA_group_types.h 2011-01-12 16:53:27 UTC (rev 34284)
> @@ -40,8 +40,8 @@
> struct GroupObject *next, *prev;
> struct Object *ob;
> void *lampren; /* used while render */
> - int recalc; /* copy of ob->recalc, used to set animated groups OK */
> - int pad;
> + short recalc; /* copy of ob->recalc, used to set animated groups OK */
> + char pad[6];
> } GroupObject;
>
>
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>
More information about the Bf-committers
mailing list