diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2014-04-16 21:20:15 +0400 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2014-04-23 04:32:03 +0400 |
commit | a1c99c0393f260b090db814cbc9c3ddc81fbe794 (patch) | |
tree | b747a47c62e8e9374d39ae18114999e839e7fbc8 /source/blender/makesdna/DNA_scene_types.h | |
parent | b2ffdf9974be8acd2460d3d73dd12d881c5e94f8 (diff) |
Cycles-Bake: internal saving and split image per material
We can now export more than one image (if there is more than one
material in the object), as well as automatically name the texture based
on the pass type.
This was a big refactor of the operator code, but things should be
stable now. use_automatic_name should probably be named use_prefix or
something.
Not working:
* use_clear (in fact it's always clearing, I need to copy only a few parts of the image, using a mask)
* image update - right now you need to click in the Image Editor to
see/refresh the baked image
Diffstat (limited to 'source/blender/makesdna/DNA_scene_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_scene_types.h | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 59136d5401a..d2454bfa27a 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -361,22 +361,26 @@ typedef struct ImageFormatData { #define R_IMF_CINEON_FLAG_LOG (1<<0) /* was R_CINEON_LOG */ typedef struct BakeData { - struct ImageFormatData im_format; + char filepath[1024]; /* FILE_MAX */ short width, height; short margin, flag; - short normal_swizzle[3]; - short normal_space; - float cage_extrusion; - float pad; + float pad2; + + char normal_swizzle[3]; + char normal_space; + + char save_mode; + char pad[3]; + char cage[64]; /* MAX_NAME */ } BakeData; -/* (short) normal_swizzle */ +/* (char) normal_swizzle */ typedef enum BakeNormalSwizzle { R_BAKE_POSX = 0, R_BAKE_POSY = 1, @@ -386,6 +390,12 @@ typedef enum BakeNormalSwizzle { R_BAKE_NEGZ = 5, } BakeNormalSwizzle; +/* (char) save_mode */ +typedef enum BakeSaveMode { + R_BAKE_SAVE_EXTERNAL = 0, + R_BAKE_SAVE_INTERNAL = 1, +} BakeSaveMode; + /* *************************************************************** */ /* Render Data */ @@ -1434,7 +1444,8 @@ enum { #define R_BAKE_LORES_MESH 32 #define R_BAKE_VCOL 64 #define R_BAKE_USERSCALE 128 -#define R_BAKE_SAVE_EXTERNAL 256 +#define R_BAKE_SPLIT_MAT 256 +#define R_BAKE_AUTO_NAME 512 /* bake_normal_space */ #define R_BAKE_SPACE_CAMERA 0 |