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>2012-12-19 12:13:41 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2012-12-19 12:13:41 +0400
commit62988549a1810814d590c7852741e4aa5b72eec9 (patch)
tree268c05a1ea6ec0ed5bf72c696aff3fbe2cc28f81 /source/blender/editors/object/object_bake.c
parentef665b3d1899669ca680400bbb0045706d784f2a (diff)
Multirs baker: support for threaded baking
Diffstat (limited to 'source/blender/editors/object/object_bake.c')
-rw-r--r--source/blender/editors/object/object_bake.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/editors/object/object_bake.c b/source/blender/editors/object/object_bake.c
index 8b40379f88d..6feb8096aff 100644
--- a/source/blender/editors/object/object_bake.c
+++ b/source/blender/editors/object/object_bake.c
@@ -100,6 +100,7 @@ typedef struct {
float bias;
int raytrace_structure;
int octree_resolution;
+ int threads;
} MultiresBakeJob;
static int multiresbake_check(bContext *C, wmOperator *op)
@@ -319,6 +320,7 @@ static int multiresbake_image_exec_locked(bContext *C, wmOperator *op)
bkr.number_of_rays = scene->r.bake_rays_number;
bkr.raytrace_structure = scene->r.raytrace_structure;
bkr.octree_resolution = scene->r.ocres;
+ bkr.threads = scene->r.mode & R_FIXED_THREADS ? scene->r.threads : 0;
/* create low-resolution DM (to bake to) and hi-resolution DM (to bake from) */
bkr.hires_dm = multiresbake_create_hiresdm(scene, ob, &bkr.tot_lvl, &bkr.simple);
@@ -356,6 +358,7 @@ static void init_multiresbake_job(bContext *C, MultiresBakeJob *bkj)
bkj->number_of_rays = scene->r.bake_rays_number;
bkj->raytrace_structure = scene->r.raytrace_structure;
bkj->octree_resolution = scene->r.ocres;
+ bkj->threads = scene->r.mode & R_FIXED_THREADS ? scene->r.threads : 0;
CTX_DATA_BEGIN (C, Base *, base, selected_editable_bases)
{
@@ -422,6 +425,7 @@ static void multiresbake_startjob(void *bkv, short *stop, short *do_update, floa
bkr.number_of_rays = bkj->number_of_rays;
bkr.raytrace_structure = bkj->raytrace_structure;
bkr.octree_resolution = bkj->octree_resolution;
+ bkr.threads = bkj->threads;
RE_multires_bake_images(&bkr);