diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-07-04 14:32:17 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-07-04 14:34:15 +0400 |
commit | 6ff6883f99d2faeb71359b9e2333a684e0ccf5ca (patch) | |
tree | 3a54c2884175e5805037d8c70eeccae52816fa10 /source | |
parent | 006b550f6f103e9d9b5d9cb2f4b0e8bdb21f7d35 (diff) |
Fix T40843: Cycles does not support viewport render override
Diffstat (limited to 'source')
5 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index 3d0c455b4b5..284377d34f9 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -544,6 +544,10 @@ static void rna_def_render_engine(BlenderRNA *brna) RNA_def_property_pointer_sdna(prop, NULL, "camera_override"); RNA_def_property_struct_type(prop, "Object"); + prop = RNA_def_property(srna, "layer_override", PROP_BOOLEAN, PROP_LAYER_MEMBER); + RNA_def_property_boolean_sdna(prop, NULL, "layer_override", 1); + RNA_def_property_array(prop, 20); + prop = RNA_def_property(srna, "tile_x", PROP_INT, PROP_UNSIGNED); RNA_def_property_int_sdna(prop, NULL, "tile_x"); prop = RNA_def_property(srna, "tile_y", PROP_INT, PROP_UNSIGNED); diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h index c76cf3406a1..24f8cbee401 100644 --- a/source/blender/render/extern/include/RE_engine.h +++ b/source/blender/render/extern/include/RE_engine.h @@ -104,6 +104,7 @@ typedef struct RenderEngine { int flag; struct Object *camera_override; + unsigned int layer_override; int tile_x; int tile_y; diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h index d16fe6fd691..536a2b8a85f 100644 --- a/source/blender/render/intern/include/render_types.h +++ b/source/blender/render/intern/include/render_types.h @@ -192,7 +192,7 @@ struct Render RenderData r; World wrld; struct Object *camera_override; - unsigned int lay; + unsigned int lay, layer_override; ListBase parts; diff --git a/source/blender/render/intern/source/external_engine.c b/source/blender/render/intern/source/external_engine.c index 95ff68dadb3..58e3038682c 100644 --- a/source/blender/render/intern/source/external_engine.c +++ b/source/blender/render/intern/source/external_engine.c @@ -624,6 +624,7 @@ int RE_engine_render(Render *re, int do_all) if (re->r.scemode & R_BUTS_PREVIEW) engine->flag |= RE_ENGINE_PREVIEW; engine->camera_override = re->camera_override; + engine->layer_override = re->layer_override; engine->resolution_x = re->winx; engine->resolution_y = re->winy; diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 92f64d96e6c..a7a85847648 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -2700,6 +2700,7 @@ static int render_initialize_from_main(Render *re, RenderData *rd, Main *bmain, re->scene_color_manage = BKE_scene_check_color_management_enabled(scene); re->camera_override = camera_override; re->lay = lay_override ? lay_override : scene->lay; + re->layer_override = lay_override; re->i.localview = (re->lay & 0xFF000000) != 0; /* not too nice, but it survives anim-border render */ |