diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2014-04-13 14:18:51 +0400 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2014-04-13 14:19:00 +0400 |
commit | 18e4224142261cd8a1086c5872efb406b82f8330 (patch) | |
tree | a1a9f7680ab45158ec2c2755f76a966532cad8b8 /source/blender/makesdna/DNA_customdata_types.h | |
parent | a872d0b414f406a7d53ce77f7b43e7a831a68fa7 (diff) |
Split Normals I (1/5): basis for split normals (nearly nothing user-visible here):
* Add a new calcLoopNormals function to DerivedMesh struct, and implement it for CDDM and CCGDM (subsurf).
EditDerivedBMesh (edit mode DM) only gets a dummy one in this commit.
* Add a tessellated version of CD_LOOPNORMAL layer (CD_TESSLOOPNORMAL), with relevant code to handle it
(tessellation, rna access, etc.).
* Change auto_smooth options of Mesh (angle now in radian internaly, and toggle is now used to enable/disable
split normals in DM creation process). Note BI render code is not touched here, hence its behavior regarding
this option is now incoherent, will be addressed in a separate commit.
Reviewers: campbellbarton
CC: brecht
Differential Revision: https://developer.blender.org/D365
Diffstat (limited to 'source/blender/makesdna/DNA_customdata_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_customdata_types.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/makesdna/DNA_customdata_types.h b/source/blender/makesdna/DNA_customdata_types.h index b6ae49cad61..d1844b34a0a 100644 --- a/source/blender/makesdna/DNA_customdata_types.h +++ b/source/blender/makesdna/DNA_customdata_types.h @@ -63,10 +63,9 @@ typedef struct CustomDataExternal { * layers, each with a data type (e.g. MTFace, MDeformVert, etc.). */ typedef struct CustomData { CustomDataLayer *layers; /* CustomDataLayers, ordered by type */ - int typemap[40]; /* runtime only! - maps types to indices of first layer of that type, + int typemap[41]; /* runtime only! - maps types to indices of first layer of that type, * MUST be >= CD_NUMTYPES, but we cant use a define here. * Correct size is ensured in CustomData_update_typemap assert() */ - int pad[1]; int totlayer, maxlayer; /* number of layers, size of layers array */ int totsize; /* in editmode, total size of all data layers */ struct BLI_mempool *pool; /* (BMesh Only): Memory pool for allocation of blocks */ @@ -119,7 +118,8 @@ enum { CD_FREESTYLE_EDGE = 37, CD_FREESTYLE_FACE = 38, CD_MLOOPTANGENT = 39, - CD_NUMTYPES = 40, + CD_TESSLOOPNORMAL = 40, + CD_NUMTYPES = 41, }; /* Bits for CustomDataMask */ @@ -164,7 +164,8 @@ enum { #define CD_MASK_MVERT_SKIN (1LL << CD_MVERT_SKIN) #define CD_MASK_FREESTYLE_EDGE (1LL << CD_FREESTYLE_EDGE) #define CD_MASK_FREESTYLE_FACE (1LL << CD_FREESTYLE_FACE) -#define CD_MASK_MLOOPTANGENT (1LL << CD_MLOOPTANGENT) +#define CD_MASK_MLOOPTANGENT (1LL << CD_MLOOPTANGENT) +#define CD_MASK_TESSLOOPNORMAL (1LL << CD_TESSLOOPNORMAL) /* CustomData.flag */ enum { |