Camera Cull & Distance Cull settings under Simplify & their usage for Grass Scenes

Please read this beforehand: https://devtalk.blender.org/t/feedback-regarding-the-particle-system-used-for-grass/6831

Okay, for last 1 month, I have been working on how to create an efficient setup in Blender (2.8) for large scenes with grass (like a meadow or grassland).

Even now, a scene of 20m x 20m (plain plane ground) is taking around 19 minutes to render for a single frame (in cycles). And as it is obvious, this is not workable for even animation (much less for a game). I know, and I have heard from the devs, that the particles system is due for an overhaul after 2.8 (and I have thus moved to Unity/Unreal for my current project animation), which obviously indicates that blender is not “there” yet comparatively. But I want to push both myself and blender to the limits, and see how much I can bring the render time down to (for this type of scenes). This also includes potentially giving back to the community as well, out of what I have learned.

So, the current focus is to take advantage of the Camera Cull & Distance Cull options (as mentioned to me by Pablo Vazquez on BT) under the Simplify settings (under Render Settings) in Cycles (And also test them out for bugs). So here are the questions, the Blender Artist community here can help answer:

  • I don’t know the theoritical difference between the two settings !? The document page consists of only 1 liners, and I have not understood them (sad face).

PS: Also, I feel there is a ambiguity based confusion surrounding the term “Camera Cull”. So please make sure, that we are talking about the Camera Cull setting, which is located under the Simplify settings << Render Settings (in Cycles).

  • The Distance Cull setting is in meters (which is somewhat understandable), but Camera Cull setting is by default 0.10 and goes upto 5.0, how does that work?

  • What is the practical use case of both, for both grass and other applications?

  • Does it work automatically? Or do we have to go into settings of each object and activate it for them manually? I’m asking because I found both answers in different places, and my own tests have been inconclusive.

  • In what cases it might stop working as it is intended?

  • What are the performance gains I can expect from it? Are they only limited to memory usage? Or can I really get lower render times as I’m hoping for?

  • Any other cool trick related to this?

I’m interested in this as well, someone knows a bit more about those features?

So, first of all, the difference between camera cull and distance cull.
Camera cull removes whats outside of the view of the camera, when the camera isn’t looking at one object, it disappears. The number you can input is the threshold of the borders of the camer, like how far does the object needs to be from the camera view projection.

Distance cull just removes every object from the given distance.

If you want to use it first you need to enable it on the render tab, and then go object by object, enabling (in the object tab > visibility > culling) each culling.

1 Like