Page MenuHome

Cycles: Experiment with culling objects based on the camera frustum
ClosedPublic

Authored by Sergey Sharybin (sergey) on Apr 10 2015, 3:57 PM.

Details

Summary

The idea is to give artists a simplier way to control memory usage in such
scenes as grass fields by doing automatic object culling based on whether
they're visible in the frame or not.

This is controlled on per-object level. In order to use this option few
steps are required:

  • Enable scene simplification (in the scene buttons).
  • In the scene simplification settings enable camera cull.
  • Enable Camera cull for objects which are desired to be culled (object culling option could be found in Option panel in object buttons).

Interface decisions are not final for sure and to be refined if this
option is considered good enough for production.

Diff Detail

Repository
rB Blender
Branch
cycles_camera_space_cull

Event Timeline

Sergey Sharybin (sergey) retitled this revision from to Cycles: Experiment with culling objects based on the camera frustum.
Sergey Sharybin (sergey) updated this object.

As I see it it has a low technical risk due to it being restricted to a property and the scene synchronization code.

It will be hard to say anything useful about the work-flow impact of this in combination with large and complex scene before it has been properly field tested. But the possible reduction in memory consumption is high.

I think given all the safeguards one needs to disable to make culling happen and the fact it does not impact cycles during actual render that testing the usefulness of this in the gooseberry branch should happen ASAP.

this feature is definitely useful!

I did the same thing with modifiers. but instead of enabling the culling everything outside the frustum is culled automatically and then you can disable the culling per object (lego scene with thousands of objects). Im not sure which solution is better :)

video -> https://www.youtube.com/watch?v=_7B4DwgPFKY

This revision was automatically updated to reflect the committed changes.