Add tessellation data to DerivedMesh (LoopTri)

This stores loop indices into the loop array giving easier acess
to data such as vertex-colors and UV's,
removing the need to store an MFace duplicate of custom-data.

This doesn't yet move all internal code from MFace to LoopTri just yet.

Only applies to:
- opengl drawing
- sculpting (pbvh)
- vertex/weight paint

Thanks to @psy-fi for review, fixes and improvements to drawing!
This commit is contained in:
2015-07-17 03:36:03 +10:00
parent c8f6313487
commit 595a491e63
22 changed files with 1106 additions and 1015 deletions

View File

@@ -40,6 +40,8 @@ struct CurveMapping;
struct MeshElemMap;
struct GridPaintMask;
struct Main;
struct MLoop;
struct MLoopTri;
struct MFace;
struct MVert;
struct Object;
@@ -133,7 +135,7 @@ bool BKE_paint_select_vert_test(struct Object *ob);
bool BKE_paint_select_elem_test(struct Object *ob);
/* partial visibility */
bool paint_is_face_hidden(const struct MFace *f, const struct MVert *mvert);
bool paint_is_face_hidden(const struct MLoopTri *lt, const struct MVert *mvert, const struct MLoop *mloop);
bool paint_is_grid_face_hidden(const unsigned int *grid_hidden,
int gridsize, int x, int y);
bool paint_is_bmesh_face_hidden(struct BMFace *f);