Page MenuHome

Render single renderlayer gives different result than rendering all renderlayers
Closed, ResolvedPublic

Description

--- Operating System ---

Archlinux (x86_64)


--- Blender version with error, and version that worked ---

Blender 2.69 release


--- Short description of error ---

Rendering a single renderlayer via the button on the renderlayer node in the compositor does not give reflections of objects in excluded layers (correct)

Render all layers results in the layer having reflections of objects only visible in excluded layers (incorrect)


--- Steps for others to reproduce the error (based on attached .blend file) ---

1. Open attached .blend
2. Press the render button on the "reflections&refractions" node in the compositor
3. The layer renders without any reflections of the object "Cube", selected in the 3D view. (correct behavior)

4. Press F12. When it renders the "Reflections&Refractions" layer, there are reflections of the "Cube" object. (incorrect behavior)

Event Timeline

At a glance looks like the excluded render layers are actually *in*cluded in Cycles (blender_sync.cpp). Quick test seems to fix it, but will leave it to Brecht:

== current ==
render_layer.scene_layer |= render_layer.exclude_layer & render_layer.holdout_layer;

== possible fix ==
render_layer.scene_layer |= render_layer.holdout_layer;
render_layer.scene_layer &= ~render_layer.exclude_layer;

Fixed now, thanks for the report.