[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29650] trunk/blender/source/blender: Fix #21369: normals on extruded text and curve objects were flipped

Ralf Hölzemer r.hoelzemer at googlemail.com
Wed Jun 23 20:04:17 CEST 2010


Thank you!

2010/6/23 Thomas Dinges <dingto at gmx.de>:
> Fixed in SVN. It compiles again. :)
>
> Am 23.06.2010 19:33, schrieb Ralf Hölzemer:
>> Hi Brecht,
>>
>> this commit broke building trunk with opencollada enabled.
>> There's another call to filldisplist in
>> "source/blender/collada/DocumentImporter.cpp" , line 1546
>>
>> Cheers,
>> Ralf
>>
>> 2010/6/23 Brecht Van Lommel<brecht at blender.org>:
>>
>>> Revision: 29650
>>>           http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29650
>>> Author:   blendix
>>> Date:     2010-06-23 15:18:50 +0200 (Wed, 23 Jun 2010)
>>>
>>> Log Message:
>>> -----------
>>> Fix #21369: normals on extruded text and curve objects were flipped
>>> for the backside, giving problems with e.g. boolean operations.
>>>
>>> Modified Paths:
>>> --------------
>>>     trunk/blender/source/blender/blenkernel/BKE_displist.h
>>>     trunk/blender/source/blender/blenkernel/intern/displist.c
>>>     trunk/blender/source/blender/editors/mesh/editmesh_mods.c
>>>     trunk/blender/source/blender/python/generic/geometry.c
>>>
>>> Modified: trunk/blender/source/blender/blenkernel/BKE_displist.h
>>> ===================================================================
>>> --- trunk/blender/source/blender/blenkernel/BKE_displist.h      2010-06-23 12:53:27 UTC (rev 29649)
>>> +++ trunk/blender/source/blender/blenkernel/BKE_displist.h      2010-06-23 13:18:50 UTC (rev 29650)
>>> @@ -99,7 +99,7 @@
>>>   int surfindex_displist(DispList *dl, int a, int *b, int *p1, int *p2, int *p3, int *p4);
>>>   void imagestodisplist(void);
>>>   void reshadeall_displist(struct Scene *scene);
>>> -void filldisplist(struct ListBase *dispbase, struct ListBase *to);
>>> +void filldisplist(struct ListBase *dispbase, struct ListBase *to, int flipnormal);
>>>
>>>   void fastshade_free_render(void);
>>>
>>>
>>> Modified: trunk/blender/source/blender/blenkernel/intern/displist.c
>>> ===================================================================
>>> --- trunk/blender/source/blender/blenkernel/intern/displist.c   2010-06-23 12:53:27 UTC (rev 29649)
>>> +++ trunk/blender/source/blender/blenkernel/intern/displist.c   2010-06-23 13:18:50 UTC (rev 29650)
>>> @@ -925,7 +925,7 @@
>>>   }
>>>
>>>
>>> -void filldisplist(ListBase *dispbase, ListBase *to)
>>> +void filldisplist(ListBase *dispbase, ListBase *to, int flipnormal)
>>>   {
>>>         EditVert *eve, *v1, *vlast;
>>>         EditFace *efa;
>>> @@ -1019,6 +1019,9 @@
>>>                                         index[0]= (intptr_t)efa->v1->tmp.l;
>>>                                         index[1]= (intptr_t)efa->v2->tmp.l;
>>>                                         index[2]= (intptr_t)efa->v3->tmp.l;
>>> +
>>> +                                       if(flipnormal)
>>> +                                               SWAP(int, index[0], index[2]);
>>>
>>>                                         index+= 3;
>>>                                         efa= efa->next;
>>> @@ -1095,13 +1098,13 @@
>>>                 dl= dl->next;
>>>         }
>>>
>>> -       filldisplist(&front, dispbase);
>>> -       filldisplist(&back, dispbase);
>>> +       filldisplist(&front, dispbase, 1);
>>> +       filldisplist(&back, dispbase, 0);
>>>
>>>         freedisplist(&front);
>>>         freedisplist(&back);
>>>
>>> -       filldisplist(dispbase, dispbase);
>>> +       filldisplist(dispbase, dispbase, 0);
>>>
>>>   }
>>>
>>> @@ -1113,7 +1116,7 @@
>>>                 bevels_to_filledpoly(cu, dispbase);
>>>         }
>>>         else {
>>> -               filldisplist(dispbase, dispbase);
>>> +               filldisplist(dispbase, dispbase, 0);
>>>         }
>>>   }
>>>
>>> @@ -1315,7 +1318,7 @@
>>>         ModifierData *preTesselatePoint;
>>>         Curve *cu= ob->data;
>>>         ListBase *nurb= cu->editnurb?cu->editnurb:&cu->nurb;
>>> -       int required_mode, totvert;
>>> +       int required_mode, totvert = 0;
>>>         int editmode = (!forRender&&  cu->editnurb);
>>>         DerivedMesh *dm= NULL, *ndm;
>>>         float (*vertCos)[3] = NULL;
>>>
>>> Modified: trunk/blender/source/blender/editors/mesh/editmesh_mods.c
>>> ===================================================================
>>> --- trunk/blender/source/blender/editors/mesh/editmesh_mods.c   2010-06-23 12:53:27 UTC (rev 29649)
>>> +++ trunk/blender/source/blender/editors/mesh/editmesh_mods.c   2010-06-23 13:18:50 UTC (rev 29650)
>>> @@ -186,7 +186,7 @@
>>>         }
>>>
>>>         /* do the fill */
>>> -       filldisplist(&lb,&lb);
>>> +       filldisplist(&lb,&lb, 0);
>>>
>>>         /* do the draw */
>>>         dl= lb.first;   /* filldisplist adds in head of list */
>>>
>>> Modified: trunk/blender/source/blender/python/generic/geometry.c
>>> ===================================================================
>>> --- trunk/blender/source/blender/python/generic/geometry.c      2010-06-23 12:53:27 UTC (rev 29649)
>>> +++ trunk/blender/source/blender/python/generic/geometry.c      2010-06-23 13:18:50 UTC (rev 29650)
>>> @@ -419,7 +419,7 @@
>>>         }
>>>         else if (totpoints) {
>>>                 /* now make the list to return */
>>> -               filldisplist(&dispbase,&dispbase);
>>> +               filldisplist(&dispbase,&dispbase, 0);
>>>
>>>                 /* The faces are stored in a new DisplayList
>>>                 thats added to the head of the listbase */
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>>
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>


More information about the Bf-committers mailing list