We've been using Brenda for quite some time now for rendering architectural stills. Since our editing stations are doing nothing at night, I started making a desktop app that allows you to pick jobs from the AWS Queue.

It works, sort of, well on Linux, but on Windows it looks like it's forgetting to run the python script. The python script does a number of things: it specifies which subframe should be rendered, makes sure the tile size is set to 32x32 (cpu) and sets a proper output location for mask outputs from compositing.

It outputs 4 files:

  • subframe.py
  • data.txt
  • err.txt
  • frame_######_X-$.$-$.$-Y-$.$-$.$

subframe.py is the actual job for rendering the subframe and settings the blender settings. data.txt shows the blender output. err.txt shows any console errors if they happened. the frame (and masks if any) are PNG images.

The command being executed looks like this:

blender -b *.blend -P subframe.py -F PNG -o $OUTDIR/frame_######_X-0.0-0.2-Y-0.2-0.4 -s 1 -e 1 -j 1 -t 0 -a

For a correct work run the output looks like this: Empty scene with susanne in it. Only 1 part rendered, left to where susanne is

The subframe.py, data.txt and err.txt can be found here.

For an incorrect work run the output looks like this: Empty scene with susanne in it. The whole image rendered rather than just the single part.

The subframe.py, data.txt and err.txt can be found here.

As you can see the err.txt's are both empty, which makes it look like everything went smoothly. On the data.txts however, you do see a difference. At the bottom of the first one you see the line:

This is a testprint from the subframe.py file

This is an output from the subframe.py file. This line is missing from the bad run data.txt file however. Leading me to believe that the subframe.py file got ignored in this case.

I fail to diagnose why this file is not being used when starting the execution of that work snippet. Running the same thing on linux does produce the suspected output. Any idea on why this is happening or how to troubleshoot it?

  • $\begingroup$ There is something confusing me: Using exactly your posted settings (and creating a new blend file with "File Output" node) it works for me on windows. However the testprint appears after the first line, not after the rendering prints. This is also what I would expect, unlike the data.txt you posted for a working run. Is there some explanation why the print is written after the rendering in your example? $\endgroup$ – Dimali Aug 25 '17 at 17:59
  • $\begingroup$ Hey Dimali, I noticed that too. But I think that is just because of the output stream that is used. However it does beg the question whether or not that fact is important for this issue... $\endgroup$ – Wouter Vandenneucker Aug 25 '17 at 18:04
  • $\begingroup$ As long as no one has a better idea, try to add something like raise ValueError() in the first line of subframe.py. This will clearly show whether the file is executed or not. Another question: Is your script in the same directory as your file and your working directory? $\endgroup$ – Dimali Aug 25 '17 at 21:59
  • $\begingroup$ That's a great idea... I'll try to include it today! $\endgroup$ – Wouter Vandenneucker Aug 28 '17 at 7:17
  • $\begingroup$ your sure $OUTDIR/frame_ works under windows ? seams a mixture of batchvariable and a path in one. if $OUTDIR contained something like d:\projectX\frameX you can remove the slash in the parameter name. $\endgroup$ – Peter Sep 21 '17 at 6:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.