diff options
author | Lukas Toenne <lukas.toenne@googlemail.com> | 2012-03-01 11:56:15 +0400 |
---|---|---|
committer | Lukas Toenne <lukas.toenne@googlemail.com> | 2012-03-01 11:56:15 +0400 |
commit | 2eb29e4788008c1346b3a757cccec503b73c9b90 (patch) | |
tree | 8b27a7524ad45b8cfcadff31cfa17d2885a0f18b /source/blender/makesdna | |
parent | 1d5a3886a175da808df1872f161e4eb8848ab358 (diff) |
A number of improvements for the file output node(s).
1) Old CMP_NODE_OUTPUT_FILE and CMP_NODE_OUTPUT_MULTI_FILE have been merged,
only CMP_NODE_OUTPUT_FILE remains. All functions renamed accordingly.
2) do_versions code for converting single-file output nodes into multi-file
output nodes. If a Z buffer input is used, the node is made into a multilayer
exr with two inputs. (see below). Also re-identifies multi-file output nodes
with the CMP_NODE_OUTPUT_FILE type.
3) "Global" format is stored in node now. By default this overrides any
per-socket settings.
4) Multilayer EXR output implemented. When M.EXR format is selected for node
format, all socket format details are ignored. Socket names are used for layer
names.
5) Input buffer types are used as-is when possible, i.e. stored as B/W, RGB or
RGBA. In regular file output the format dictates the number of actual channels,
so the CompBuf is typechecked to the right type first. For multilayer EXR the
number of channels is more flexible, so an input buffer will store only the
channels it actually uses.
6) The editor socket type is updated from linked sockets as an indicator of the
actual data written to files. This may not be totally accurate for regular file
output though, due to restrictions of format setting.
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_node_types.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index 93891a9edfa..ed9eaff4b92 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -114,7 +114,7 @@ typedef struct bNodeSocket { /* sock->struct_type */ #define SOCK_STRUCT_NONE 0 /* default, type is defined by sock->type only */ -#define SOCK_STRUCT_OUTPUT_MULTI_FILE 1 /* multi file output node socket */ +#define SOCK_STRUCT_OUTPUT_FILE 1 /* file output node socket */ /* socket side (input/output) */ #define SOCK_IN 1 @@ -352,7 +352,7 @@ typedef struct NodeHueSat { float hue, sat, val; } NodeHueSat; -typedef struct NodeImageFile { +typedef DNA_DEPRECATED struct NodeImageFile { char name[1024]; /* 1024 = FILE_MAX */ struct ImageFormatData im_format; int sfra, efra; @@ -362,10 +362,11 @@ typedef struct NodeImageMultiFile { char base_path[1024]; /* 1024 = FILE_MAX */ int active_input; /* selected input in details view list */ int pad; + ImageFormatData format; } NodeImageMultiFile; typedef struct NodeImageMultiFileSocket { - short use_render_format; /* use global render settings instead of own format */ - short pad1; + short use_render_format DNA_DEPRECATED; + short use_node_format; /* use overall node image format */ int pad2; ImageFormatData format; } NodeImageMultiFileSocket; |