[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

Campbell Barton ideasman42 at gmail.com
Thu Jan 13 12:23:02 CET 2011


reverted this, will need to see why this works fine in 2.4x but not 2,5.

On Thu, Jan 13, 2011 at 8:45 AM, Daniel Salazar - 3Developer.com
<zanqdo at gmail.com> wrote:
> 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
>>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>



-- 
- Campbell


More information about the Bf-committers mailing list