diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-11-25 17:27:50 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-11-25 17:27:50 +0300 |
commit | 077edbb384e3845f27cc06618046a08c7101cc4c (patch) | |
tree | 7956c198717590d68a285ecb903f91064f35314a /source/blender/blenkernel/BKE_customdata.h | |
parent | 436969ce49bc17573e8f87a87ef89d1d036d5f4e (diff) |
Sculpt: external file storage for multires
* This is experimental, the file format may change still!
* Helps reduce memory usage, keeps .blend files smaller, and makes
saving quicker when not editing multires.
* This is implemented at the customdata level, currently only the
multires displacements can be stored externally.
ToDo
* Better integration with object duplication/removal/..
* Memory is not yet freed when exiting sculpt mode.
* Loading only lower levels is not supported yet.
Diffstat (limited to 'source/blender/blenkernel/BKE_customdata.h')
-rw-r--r-- | source/blender/blenkernel/BKE_customdata.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_customdata.h b/source/blender/blenkernel/BKE_customdata.h index 95ee918a888..5ce4b396f0e 100644 --- a/source/blender/blenkernel/BKE_customdata.h +++ b/source/blender/blenkernel/BKE_customdata.h @@ -278,4 +278,20 @@ int CustomData_verify_versions(struct CustomData *data, int index); void CustomData_to_bmeshpoly(struct CustomData *fdata, struct CustomData *pdata, struct CustomData *ldata); void CustomData_from_bmeshpoly(struct CustomData *fdata, struct CustomData *pdata, struct CustomData *ldata, int total); void CustomData_bmesh_init_pool(struct CustomData *data, int allocsize); + +/* External file storage */ + +void CustomData_external_add(struct CustomData *data, + int type, const char *name, int totelem); +void CustomData_external_remove(struct CustomData *data, + int type, int totelem); +void CustomData_external_remove_object(struct CustomData *data); +int CustomData_external_test(struct CustomData *data, int type); + +void CustomData_external_write(struct CustomData *data, + CustomDataMask mask, int totelem, int free); +void CustomData_external_read(struct CustomData *data, + CustomDataMask mask, int totelem); + #endif + |