diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-01-21 13:05:05 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-01-21 13:05:05 +0400 |
commit | 04affbe80eeddd0cd9a47b888cce3f9b26dbbe04 (patch) | |
tree | 88894040277fd7bfc58fb4b1933d201b5069238a /source/blender/editors/object/object_bake.c | |
parent | 86991fbcb0e8a1c65acff5aed85ce55f8b108baa (diff) |
Support normalized displacement maps in cases maximal distance is not set
This will calculate maximal distance automatically and normalize displacement
to it. Before this change normalization will not happen at all in cases max
distance is not set manually.
This affects on "regular" baker only, there are still some fixes to come for
multiresolution baker, but that could be solved separately.
Diffstat (limited to 'source/blender/editors/object/object_bake.c')
-rw-r--r-- | source/blender/editors/object/object_bake.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/editors/object/object_bake.c b/source/blender/editors/object/object_bake.c index f36c6d79783..322ba99593e 100644 --- a/source/blender/editors/object/object_bake.c +++ b/source/blender/editors/object/object_bake.c @@ -610,7 +610,12 @@ static void finish_bake_internal(BakeRender *bkr) /* freed when baking is done, but if its canceled we need to free here */ if (ibuf) { if (ibuf->userdata) { - MEM_freeN(ibuf->userdata); + BakeImBufuserData *userdata = (BakeImBufuserData *) ibuf->userdata; + if (userdata->mask_buffer) + MEM_freeN(userdata->mask_buffer); + if (userdata->displacement_buffer) + MEM_freeN(userdata->displacement_buffer); + MEM_freeN(userdata); ibuf->userdata = NULL; } } |