GSoC 2024: Improve Distributed Rendering & Task Execution

Week 7
July 8 — July 12

I had been experimenting and by the end of this week, I eventually had a working pipeline of rendering an image into three pieces then merging them together into a complete image. The whole pipeline looks like this:

  • Disable compositing
  • Figure out the borders (with 4 pixels of overscan) and do border rendering to get the three pieces
  • Find out the RenderLayers node in the node tree
  • Construct a set of nodes to merge the three pieces into one
  • Reconstruct the original node tree by replacing the RenderLayers node with the newly created set of nodes
  • Final compositing

The result looks promising:

There are still quite a few questions I need to answer before this thing could be called “production-level”:

  • Why do we have discrepancies when the three pieces are rendered with compositing enabled?

  • What additional data we need to make sure denoising works?
  • What are some Cycles features we are theoretically unable to support at the moment?

While figuring out the answers to these questions, I will also be landing my previous PR and open a new one this week.

7 Likes