[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
Thomas Dinges
dingto at gmx.de
Wed Jun 23 19:40:39 CEST 2010
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
>
>
More information about the Bf-committers
mailing list