Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-04-27 00:04:58 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-04-27 00:04:58 +0400
commit357198d88590dbc90751bdf0daf59f25d984bb59 (patch)
treef2a6bc18d17c60085ec9a729cd058a28bdaf387d /source/blender/blenkernel/intern/displist.c
parent35ddc47d389684152c0135212d0900a50d75e7bd (diff)
fix [#35097] only one curve cap is visible while backface culling is enabled - (again)
also replace array copying with memcpy.
Diffstat (limited to 'source/blender/blenkernel/intern/displist.c')
-rw-r--r--source/blender/blenkernel/intern/displist.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c
index 240c1ed7652..12c9ec3a52a 100644
--- a/source/blender/blenkernel/intern/displist.c
+++ b/source/blender/blenkernel/intern/displist.c
@@ -1329,11 +1329,10 @@ static void rotateBevelPiece(Curve *cu, BevPoint *bevp, BevPoint *nbevp, DispLis
static void fillBevelCap(Nurb *nu, DispList *dlb, float *prev_fp, ListBase *dispbase)
{
DispList *dl;
- float *data;
- int b;
dl = MEM_callocN(sizeof(DispList), "makeDispListbev2");
- dl->verts = data = MEM_callocN(3 * sizeof(float) * dlb->nr, "dlverts");
+ dl->verts = MEM_mallocN(3 * sizeof(float) * dlb->nr, "dlverts");
+ memcpy(dl->verts, prev_fp, 3 * sizeof(float) * dlb->nr);
dl->type = DL_POLY;
@@ -1346,9 +1345,6 @@ static void fillBevelCap(Nurb *nu, DispList *dlb, float *prev_fp, ListBase *disp
/* CU_2D conflicts with R_NOPUNOFLIP */
dl->rt = nu->flag & ~CU_2D;
- for (b = 0; b < dlb->nr; b++, prev_fp += 3, data += 3)
- copy_v3_v3(data, prev_fp);
-
BLI_addtail(dispbase, dl);
}
@@ -1543,8 +1539,8 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba
}
if (bottom_capbase.first) {
- BKE_displist_fill(&bottom_capbase, dispbase, 0);
- BKE_displist_fill(&top_capbase, dispbase, 0);
+ BKE_displist_fill(&bottom_capbase, dispbase, false);
+ BKE_displist_fill(&top_capbase, dispbase, true);
BKE_displist_free(&bottom_capbase);
BKE_displist_free(&top_capbase);
}