diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2020-03-09 18:27:24 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2020-03-09 18:27:24 +0300 |
commit | 29f3af95272590d26f610ae828b2eeee89c82a00 (patch) | |
tree | a696a58a2561c48f7ec6166e369e22081e0a64d8 /source/blender/makesdna/DNA_object_types.h | |
parent | dcb93126876879d969a30a7865700abd072066f8 (diff) |
GPencil: Refactor of Draw Engine, Vertex Paint and all internal functions
This commit is a full refactor of the grease pencil modules including Draw Engine, Modifiers, VFX, depsgraph update, improvements in operators and conversion of Sculpt and Weight paint tools to real brushes.
Also, a huge code cleanup has been done at all levels.
Thanks to @fclem for his work and yo @pepeland and @mendio for the testing and help in the development.
Differential Revision: https://developer.blender.org/D6293
Diffstat (limited to 'source/blender/makesdna/DNA_object_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_object_types.h | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index 4d15abc3c77..fca74c29909 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -167,6 +167,18 @@ typedef struct Object_Runtime { struct Mesh *mesh_deform_eval; /** + * Original grease pencil bGPdata pointer, before object->data was changed to point + * to gpd_eval. + * Is assigned by dependency graph's copy-on-write evaluation. + */ + struct bGPdata *gpd_orig; + /** + * bGPdata structure created during object evaluation. + * It has all modifiers applied. + */ + struct bGPdata *gpd_eval; + + /** * This is a mesh representation of corresponding object. * It created when Python calls `object.to_mesh()`. */ @@ -175,14 +187,6 @@ typedef struct Object_Runtime { /** Runtime evaluated curve-specific data, not stored in the file. */ struct CurveCache *curve_cache; - /** Runtime grease pencil drawing data */ - struct GpencilBatchCache *gpencil_cache; - /** Runtime grease pencil total layers used for evaluated data created by modifiers */ - int gpencil_tot_layers; - char _pad4[4]; - /** Runtime grease pencil evaluated data created by modifiers */ - struct bGPDframe *gpencil_evaluated_frames; - unsigned short local_collections_bits; short _pad2[3]; } Object_Runtime; @@ -542,6 +546,8 @@ enum { OB_DRAWTRANSP = 1 << 7, OB_DRAW_ALL_EDGES = 1 << 8, /* only for meshes currently */ OB_DRAW_NO_SHADOW_CAST = 1 << 9, + /* Enable lights for grease pencil. */ + OB_USE_GPENCIL_LIGHTS = 1 << 10, }; /* empty_drawtype: no flags */ |