Cycles Ambient Occlusion settings are still present in World instead of Render Settings

Cycles Ambient Occlusion settings are still present in the World tab of the properties panel in the renderer. This causes issues and inconsistencies because:

  1. It is inconsistent with Eevee, which has Ambient Occlusion settings present in the render settings.
  2. It makes AO Bounces Simplify feature appear non functional, because there is absolutely no implication this feature is related to AO setting present outside of the Render Settings tab.
  3. When tweaking AO Bounces Simplify feature, user has to constantly switch between two different tabs of properties panel.
  4. AO settings present in the World panel explicitly require Cycles to work, therefore they are a Cycles Render settings.
  5. Global AO is not in any way related/tied/influenced by Environment color/map which is World tab is for (Unless simplify AO bounces feature is used, which is present in render settings tab).

All these issues together severely impact usability in a negative way.

Proposed solution

  1. Move Ambient Occlusion from World to Cycles Render settings.
  2. Move AO Bounces feature from Simplify to Ambient Occlusion rollout in Cycles render settings to clearly imply these features are related.
  3. Right now, Ambient Occlusion enable checkbox defines if Environment map or constant AO color is used for diffuse ambient light. In this proposed state, constant color should be used for AO ambient light of AO bounces value is 0, and Environment map color should be used if AO bounces value is non-zero. This would further remove ambiguity and room for error when using AO bounces feature, which has currently quite cryptic setup process.

Personally I don’t think it’s so bad to have them in World, if we move the AO simplify settings there as well. I don’t think this is such an important feature that it deserves to be in the main render settings tab. It gives the impressions that this is something you almost have to use like Eevee, while it’s really an additional affect that you don’t need for realistic rendering results.

Yes, it’s an additional effect, which should not be used most of the time, but having it inside World settings doesn’t really address that. The use of the simplify bounces feature can be sometimes justified though, and in that case it still makes more sense to be in render settings.

If it was overhauled based on my suggestion but kept in World tab, then that would still be ok, as user would not have to jump between render settings and world settings just to setup simplify AO bounces, but they’d still need to jump in between to set up Cycles in general.

I also don’t think that features are in the render settings based on their importance, but rather on their qualification. If they qualify as a render setting or not. I don’t think parts of settings which are clearly render settings, just less used, should be cleaned up into other, arbitrary tabs. Render settings should always be on one place.

The way I see it, World tab is where you set up your scene environment/background - the look of it. I actually question even Environment Importance Sampling and Volume Sampling settings being there. Ambient Occlusion is not dependent on World Background color, so it has nothing to do with the World Background itself. When simplify bounces is used, Ambient component of the AO is then affected by the World Background color, but it itself does not modify world background. So the categorization here remains unclear.

I do however understand that many of Blender users are inexperienced and could assume that AO somehow “enhances rendering” which is wrong especially when it comes to brute force renderer like Cycles.

I’d go as far as to suggest complete removal of AO. It’s semi usable anyway, as the ambient color can not be defined and is hardcoded to white. I’d just keep the simplify feature with the distance parameter and factor value.

The functionality of the global AO could then be executed like in other mainstream renderers, where you have an ambient light (lamp object you can create), which adds constant amount of color to the entire scene, and to get global AO, you would plug an AO map inside its color slot (which Cycles already has). This would also allow for much more flexibility.


But you need this option for Simplify AO, you may not use it, and I understand why, but there are projects with low budget, or where photorealism is not the most important thing, and Simplify Ao helps tremendously to reduce render times for those projects, so removing the AO option is not a good idea IMHO, I think it should be presen in the render settings tab too, not in the world tab, but I can think of reasons for it to be in the world tab, I can also think of reasons on why to put it under the simpify options for example, so people understand that when you use AO you are actually introducing bias in the render.

So, IMHO, removing the option, nope, having it under simplify settings, maybe, having it in the render settings tab somewhere, yes.


P.S. 1: @brecht from an artist perspective that is fine tuning rendering in a complex scene it is pretty bad to have it under world settings, since you are forced to be jumping from one tab to another just to adjust two settings to do some render tests, it’s annoying.
It’s not just an additional effect, you may have it disabled and still it affects the simplify AO distance, so it makes sense to have it within the simplify AO options IMO.

P.S.2: @LudvikKoutny I would not move the AO settings outside the simplify tab, it’s good to have them under simplify, this in some way is warning a user that it is “simplifying” the render, so it’s introducing bias, what I see as something good is to jave the AO settings under the simplify tab.


I talked about removing AO, not removing simplify bounces.

Yes, but the AO Distance present in the AO settings affect Simplify Bounces

1 Like

Yes, because you did not read what I wrote:

Hey, don’t start with aggressive accusations :sunglasses:

I may have slipped that part or I may have misunderstood it, don’t assume I just don’t read what you write :slight_smile:

The other solution could be to properly improve AO and make the Ambient Color not hardcoded, but in any case I agree that the actual AO checkbox is not too useful, in fact it’s behaviour could be reproduced rendering with the AO pass and using the compositor.
So while we keep the distance value, which is the important one, I agree that the actual AO checkbox has no use, the result when you activate it is weird.