Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Bakker <jeroen@blender.org>2020-12-14 18:14:21 +0300
committerJeroen Bakker <jeroen@blender.org>2020-12-14 18:14:38 +0300
commitf4df036bc497b134789b624efd9008c6f4b9c6c8 (patch)
treefd9537758878f679087ff6854b1913b129b3ded8 /source/blender/makesdna
parent07ce9910f7ccaa48ae28c35049dec598b6214b36 (diff)
Cryptomatte: Data structure in compositor node
This changes the way how the mattes are stored in the compositor node. This used to be a single string what was decoded/encoded when needed. The new data structure stores all entries in `CryptomatteEntry` and is converted to the old `matte_id` property on the fly. This is done for some future changes in the workflow where a more structured approach leads to less confusing and easier to read code.
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r--source/blender/makesdna/DNA_node_types.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 8e463a8b406..f6ceb2b8e6a 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -1052,10 +1052,20 @@ typedef struct NodeSunBeams {
float ray_length;
} NodeSunBeams;
+typedef struct CryptomatteEntry {
+ struct CryptomatteEntry *next, *prev;
+ float encoded_hash;
+ /** MAX_NAME. */
+ char name[64];
+ char _pad[4];
+} CryptomatteEntry;
+
typedef struct NodeCryptomatte {
float add[3];
float remove[3];
- char *matte_id;
+ char *matte_id DNA_DEPRECATED;
+ /* Contains `CryptomatteEntry`. */
+ ListBase entries;
int num_inputs;
char _pad[4];
} NodeCryptomatte;