0
$\begingroup$

I have an application where I want to render a 3D scene in multiple fragments due to reasons of complexity and then stitch them together in a second pass. I can do that essentially in two blender projects where the first one just renders all the fragments and the second project is a compositor-only one and stitches the fragments together (would be also possible with any video editor).

For reasons of compactness I'd like to do this in a single Blender project where a script is walking through all frames, renders the fragments for each frame and then uses some compositor node setup to assemble the final image. The latter requires that the script does a re-routing in the compositor such that the output node receives the image not from the "Render Layers" node but from the nodes that are stitching the fragments together.

So while this is essentially working, Blender does re-calculate the 3D scene although it is not being used resp. not connected. This is nonsense, of course. Is there some way to suppress this 3D rendering?

Thanks, Mario

$\endgroup$

1 Answer 1

0
$\begingroup$

Ok, not sure whether this is the best way to deal with that, but I did handle that challenge by simply deleting the Render Layers node in the compositor.

So the render loop within the script does:

  • render all fragments with the Render Layers node present and connected to the composite output
  • the Render Layers node is being deleted
  • the result of the stitching is fed onto the composite output
  • the result is being rendered
  • the Render Layers node is being added again and connected to the composite output
  • start over again

Works nicely....

$\endgroup$
2
  • $\begingroup$ Could you render to exr output and then bring the results right back in to the compositor? $\endgroup$ Commented May 1, 2023 at 20:49
  • $\begingroup$ @AllenSimpson Exactly this I'm doing as I described in my own answer to my question. But I'm using PNG which is sufficient for me. However, this is only working when the rendering loop has been implemented directly in a script. I.e. it is (IMHO) not possible when using Blender's "Render Animation" function. This is because "Render Animation" does render just a single 3D-scene, sends it through the compositor and is then written to some file. Maybe there's also a chance by using multiple render layers and combine them in the compositor. Anyway, I'm happy with my solution. $\endgroup$
    – Mario
    Commented May 2, 2023 at 22:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .