[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