diff options
author | Lukas Stockner <lukas.stockner@freenet.de> | 2020-08-11 00:15:50 +0300 |
---|---|---|
committer | Lukas Stockner <lukas.stockner@freenet.de> | 2020-08-11 00:16:25 +0300 |
commit | acd46870630a4c968d5eebde2b1b34cf22cc3c77 (patch) | |
tree | dc7ec7f47335605824576b502d8a3696f3e860bd /source/blender/render/intern | |
parent | 784adccf470b6ccea30d8ee63fdcd5aa8dd4326c (diff) | |
parent | bc5d144855d540d6ea663b0bb13607b692b6b5f0 (diff) |
Merge branch 'blender-v2.90-release'
Diffstat (limited to 'source/blender/render/intern')
-rw-r--r-- | source/blender/render/intern/source/external_engine.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/render/intern/source/external_engine.c b/source/blender/render/intern/source/external_engine.c index 633b9324d9f..075202e8a79 100644 --- a/source/blender/render/intern/source/external_engine.c +++ b/source/blender/render/intern/source/external_engine.c @@ -174,7 +174,8 @@ static RenderResult *render_result_from_bake(RenderEngine *engine, int x, int y, BLI_addtail(&rr->layers, rl); /* Add render passes. */ - render_layer_add_pass(rr, rl, engine->bake.depth, RE_PASSNAME_COMBINED, "", "RGBA"); + RenderPass *result_pass = render_layer_add_pass( + rr, rl, engine->bake.depth, RE_PASSNAME_COMBINED, "", "RGBA"); RenderPass *primitive_pass = render_layer_add_pass(rr, rl, 4, "BakePrimitive", "", "RGBA"); RenderPass *differential_pass = render_layer_add_pass(rr, rl, 4, "BakeDifferential", "", "RGBA"); @@ -210,6 +211,15 @@ static RenderResult *render_result_from_bake(RenderEngine *engine, int x, int y, } } + /* Initialize tile render result from full image bake result. */ + for (int ty = 0; ty < h; ty++) { + size_t offset = ty * w * engine->bake.depth; + size_t bake_offset = ((y + ty) * engine->bake.width + x) * engine->bake.depth; + size_t size = w * engine->bake.depth * sizeof(float); + + memcpy(result_pass->rect + offset, engine->bake.result + bake_offset, size); + } + return rr; } |