Merge branch 'blender-v2.92-release'
This commit is contained in:
commit
1cc54107a9
|
@ -458,6 +458,7 @@ static void curve_to_displist(Curve *cu,
|
|||
/**
|
||||
* \param normal_proj: Optional normal that's used to project the scanfill verts into 2d coords.
|
||||
* Pass this along if known since it saves time calculating the normal.
|
||||
* This is also used to initialize #DispList.nors (one normal per display list).
|
||||
* \param flipnormal: Flip the normal (same as passing \a normal_proj negated)
|
||||
*/
|
||||
void BKE_displist_fill(ListBase *dispbase,
|
||||
|
@ -550,6 +551,18 @@ void BKE_displist_fill(ListBase *dispbase,
|
|||
dlnew->index = MEM_mallocN(sizeof(int[3]) * tot, "dlindex");
|
||||
dlnew->verts = MEM_mallocN(sizeof(float[3]) * totvert, "dlverts");
|
||||
|
||||
if (normal_proj != NULL) {
|
||||
/* Use a single normal for #DL_INDEX3.
|
||||
* Counter intuitively, the normal must always be the flipped projection vector. */
|
||||
dlnew->nors = MEM_mallocN(sizeof(float[3]), "dlnors");
|
||||
if (flipnormal) {
|
||||
copy_v3_v3(dlnew->nors, normal_proj);
|
||||
}
|
||||
else {
|
||||
negate_v3_v3(dlnew->nors, normal_proj);
|
||||
}
|
||||
}
|
||||
|
||||
/* vert data */
|
||||
f1 = dlnew->verts;
|
||||
totvert = 0;
|
||||
|
|
Loading…
Reference in New Issue