Fix related to #31317: viewport render layer rendering now uses render visibility

rather than viewport visibility, is more useful that way.
This commit is contained in:
Brecht Van Lommel 2012-05-05 10:17:18 +00:00
parent aa9c9173b1
commit a30dec8e59
3 changed files with 5 additions and 1 deletions

@ -286,7 +286,7 @@ void BlenderSync::sync_objects(BL::SpaceView3D b_v3d, int motion)
BL::Scene::objects_iterator b_ob;
for(b_scene.objects.begin(b_ob); b_ob != b_scene.objects.end(); ++b_ob) {
bool hide = (b_v3d)? b_ob->hide(): b_ob->hide_render();
bool hide = (render_layer.use_viewport_visibility)? b_ob->hide(): b_ob->hide_render();
uint ob_layer = get_layer(b_ob->layers());
if(!hide && (ob_layer & scene_layer)) {

@ -215,6 +215,7 @@ void BlenderSync::sync_render_layers(BL::SpaceView3D b_v3d, const char *layer)
render_layer.holdout_layer = 0;
render_layer.material_override = PointerRNA_NULL;
render_layer.use_background = true;
render_layer.use_viewport_visibility = true;
render_layer.samples = 0;
return;
}
@ -234,6 +235,7 @@ void BlenderSync::sync_render_layers(BL::SpaceView3D b_v3d, const char *layer)
render_layer.layer |= render_layer.holdout_layer;
render_layer.material_override = b_rlay->material_override();
render_layer.use_background = b_rlay->use_sky();
render_layer.use_viewport_visibility = false;
render_layer.samples = b_rlay->samples();
}

@ -113,6 +113,7 @@ private:
: scene_layer(0), layer(0), holdout_layer(0),
material_override(PointerRNA_NULL),
use_background(true),
use_viewport_visibility(false),
samples(0)
{}
@ -122,6 +123,7 @@ private:
uint holdout_layer;
BL::Material material_override;
bool use_background;
bool use_viewport_visibility;
int samples;
} render_layer;
};