Render tab surprises per scene

I often render Cycles projects that have multiple transparent scenes stacked on top of each other. The scene that’s selected when I start the render determines the resolution of the combined rendered image. However, I just discovered that Blender does not use the Sampling -> Samples -> Render value for all of the scenes; it uses the Sampling -> Samples -> Render value for each individual scene. Here’s a picture describing what I mean:


While that’s more flexible way of working, I find this really confusing from a UI perspective, since some things under the Render tab apply to the entire render (Dimensions -> Resolution, the Output section), while some apply to only the particular scene (Sampling -> Samples -> Render, the Motion Blur section, the Film section).

My question is, since the UI isn’t organized in such a way where it clearly illustrates what happens under which circumstances, which things under the Render tab affect the entire render and which things affect only the particular scene it’s rendering? I want to avoid unexpected surprises like this in the future.

You can definitely have different resolutions for different scenes. The only settings/data that are shared between scenes are those in a datablock that is being shared. Since the render settings are part of the scene datablock itself, it’s completely impossible for any of them to be shared across scenes. There’s no way to get that to happen even if you wanted to.

From your description, it sounds like you are using multiple renderlayer nodes in the compositor to combine these scenes in one shot? That is where the problem comes in. The final composite is always run at the output resolution of the current scene. Your scenes are all getting rendered at their own resolutions, but they are getting combined at the final res. If you have input assets at a different resolution, add some nodes to make sure they are in the proper size and position.

Correct.

That’s what’s confusing. The UI implies that everything under the Render tab is all one category of functionality. But behind the scenes, some of the options are tied to the scene datablock and others are not. I’d like to know which options are.

Yes, that’s exactly what I’m doing.

If I’m understanding you correctly, I don’t think this is right. As a test, I set one scene to a ridiculously small 160 x 90 pixels, but ran the render from a scene that was rendering at 1920 x 1080. When the 160 x 90 scene was rendering, it was rendering at the full 1920 x 1080 resolution. When those two scenes are combined, theoretically the ridiculously small render should look blocky and stretched out to 1920 x 1080. However, all of the scenes were being rendered at 1920 x 1080, even the one that was 160 x 90.

In a sense, it seems odd that Blender would honor the Cycles samples render value per scene. I mean, if I want a good quality render at 1920 x 1080, the render resolution is a function of rendering. How many samples that are used for Cycles rendering should also be a function of rendering; it’s just as important as the render resolution. On the other hand, I can kind of see why they did it – maybe one scene needs a higher number of samples than another one to look good.

What I want to avoid is any other assumptions I’ve made with the Render tab. In other words, what other gotchas are lurking there on the Render tab with multi-scene renders that I don’t yet know about?

Just tested this, it seems when a scene is called to render via a renderlayer node, it takes at least some settings from the scene that called it, rather than its own settings. This is a really weird behavior that I don’t really agree with, and (IMO) is yet one MORE reason to render your scenes to multilayer EXRs and comp them elsewhere. Besides the “re-render everything to final a change in one scene” bit…

Aside from that, everything should be per-scene. I scanned through the render settings panel and didn’t see anything without a bpy.data.scenes path. For the defaults with BI/Cycles anyway. There’s nothing stopping an addon from drawing a non-scene prop there. They SHOULDN’T, but they can.