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:
authorSergey Sharybin <sergey.vfx@gmail.com>2013-09-20 14:14:54 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2013-09-20 14:14:54 +0400
commit7617eadae43f8b21b8dc327515af54639b66c9b3 (patch)
treed8adcf06a31992576901731543d0f9e08ba9a15e /source/blender/render/intern/source/bake.c
parent556fa5e2055755764dff59d7702a2ccc0e08c344 (diff)
Clear color to gray when baking displacement map
This makes more sense to have no displacement if baking non-normalized displacement map or have mid-level displacement (which is likely be close to no displacement as well) when baking normalized displacement. In any way it's better than using default black color.
Diffstat (limited to 'source/blender/render/intern/source/bake.c')
-rw-r--r--source/blender/render/intern/source/bake.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/render/intern/source/bake.c b/source/blender/render/intern/source/bake.c
index 703db22371e..6e70e670ff8 100644
--- a/source/blender/render/intern/source/bake.c
+++ b/source/blender/render/intern/source/bake.c
@@ -647,6 +647,8 @@ static int get_next_bake_face(BakeShade *bs)
const float vec_solid[4] = {0.0f, 0.0f, 0.0f, 1.0f};
const float nor_alpha[4] = {0.5f, 0.5f, 1.0f, 0.0f};
const float nor_solid[4] = {0.5f, 0.5f, 1.0f, 1.0f};
+ const float disp_alpha[4] = {0.5f, 0.5f, 0.5f, 0.0f};
+ const float disp_solid[4] = {0.5f, 0.5f, 0.5f, 1.0f};
tface = RE_vlakren_get_tface(obr, vlr, obr->bakemtface, NULL, 0);
@@ -686,6 +688,8 @@ static int get_next_bake_face(BakeShade *bs)
if (R.r.bake_flag & R_BAKE_CLEAR) {
if (R.r.bake_mode == RE_BAKE_NORMALS && R.r.bake_normal_space == R_BAKE_SPACE_TANGENT)
IMB_rectfill(ibuf, (ibuf->planes == R_IMF_PLANES_RGBA) ? nor_alpha : nor_solid);
+ else if (R.r.bake_mode == RE_BAKE_DISPLACEMENT)
+ IMB_rectfill(ibuf, (ibuf->planes == R_IMF_PLANES_RGBA) ? disp_alpha : disp_solid);
else
IMB_rectfill(ibuf, (ibuf->planes == R_IMF_PLANES_RGBA) ? vec_alpha : vec_solid);
}